Files
clice/dev/extension.html
2026-01-03 08:23:38 +00:00

35 lines
24 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Extension | clice</title>
<meta name="description" content="a powerful and modern C++ language server">
<meta name="generator" content="VitePress v1.6.4">
<link rel="preload stylesheet" href="/assets/style.C0Yaiv_5.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
<script type="module" src="/assets/app.DQoL_1fX.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/theme.CLpq7zWO.js">
<link rel="modulepreload" href="/assets/chunks/framework.l7bN90nj.js">
<link rel="modulepreload" href="/assets/dev_extension.md.XVgKd8kt.lean.js">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-24511351><!--[--><!--]--><!--[--><span tabindex="-1" data-v-83a3f712></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-83a3f712>Skip to content</a><!--]--><!----><header class="VPNav" data-v-24511351 data-v-8d64a174><div class="VPNavBar" data-v-8d64a174 data-v-fa22aa31><div class="wrapper" data-v-fa22aa31><div class="container" data-v-fa22aa31><div class="title" data-v-fa22aa31><div class="VPNavBarTitle has-sidebar" data-v-fa22aa31 data-v-4392cbaa><a class="title" href="/" data-v-4392cbaa><!--[--><!--]--><!----><span data-v-4392cbaa>clice</span><!--[--><!--]--></a></div></div><div class="content" data-v-fa22aa31><div class="content-body" data-v-fa22aa31><!--[--><!--]--><div class="VPNavBarSearch search" data-v-fa22aa31><!----></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-fa22aa31 data-v-4fbe08f7><span id="main-nav-aria-label" class="visually-hidden" data-v-4fbe08f7> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/" tabindex="0" data-v-4fbe08f7 data-v-27efe891><!--[--><span data-v-27efe891>Home</span><!--]--></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-fa22aa31 data-v-3eed34a3 data-v-134c4b98><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="Change language" data-v-134c4b98><span class="text" data-v-134c4b98><span class="vpi-languages option-icon" data-v-134c4b98></span><!----><span class="vpi-chevron-down text-icon" data-v-134c4b98></span></span></button><div class="menu" data-v-134c4b98><div class="VPMenu" data-v-134c4b98 data-v-3b514283><!----><!--[--><!--[--><div class="items" data-v-3eed34a3><p class="title" data-v-3eed34a3>English</p><!--[--><div class="VPMenuLink" data-v-3eed34a3 data-v-cd255f6d><a class="VPLink link" href="/zh/dev/extension" data-v-cd255f6d><!--[--><span data-v-cd255f6d>简体中文</span><!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-fa22aa31 data-v-687fd4c1><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-687fd4c1 data-v-c8168445 data-v-35846bb7><span class="check" data-v-35846bb7><span class="icon" data-v-35846bb7><!--[--><span class="vpi-sun sun" data-v-c8168445></span><span class="vpi-moon moon" data-v-c8168445></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-fa22aa31 data-v-84f3cb2c data-v-0a01d640><!--[--><a class="VPSocialLink no-icon" href="https://discord.gg/PA3UxW2VA3" aria-label="discord" target="_blank" rel="noopener" data-v-0a01d640 data-v-36865dac><span class="vpi-social-discord"></span></a><a class="VPSocialLink no-icon" href="https://github.com/clice-io/clice" aria-label="github" target="_blank" rel="noopener" data-v-0a01d640 data-v-36865dac><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-fa22aa31 data-v-20cb852c data-v-134c4b98><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-134c4b98><span class="vpi-more-horizontal icon" data-v-134c4b98></span></button><div class="menu" data-v-134c4b98><div class="VPMenu" data-v-134c4b98 data-v-3b514283><!----><!--[--><!--[--><div class="group translations" data-v-20cb852c><p class="trans-title" data-v-20cb852c>English</p><!--[--><div class="VPMenuLink" data-v-20cb852c data-v-cd255f6d><a class="VPLink link" href="/zh/dev/extension" data-v-cd255f6d><!--[--><span data-v-cd255f6d>简体中文</span><!--]--></a></div><!--]--></div><div class="group" data-v-20cb852c><div class="item appearance" data-v-20cb852c><p class="label" data-v-20cb852c>Appearance</p><div class="appearance-action" data-v-20cb852c><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-20cb852c data-v-c8168445 data-v-35846bb7><span class="check" data-v-35846bb7><span class="icon" data-v-35846bb7><!--[--><span class="vpi-sun sun" data-v-c8168445></span><span class="vpi-moon moon" data-v-c8168445></span><!--]--></span></span></button></div></div></div><div class="group" data-v-20cb852c><div class="item social-links" data-v-20cb852c><div class="VPSocialLinks social-links-list" data-v-20cb852c data-v-0a01d640><!--[--><a class="VPSocialLink no-icon" href="https://discord.gg/PA3UxW2VA3" aria-label="discord" target="_blank" rel="noopener" data-v-0a01d640 data-v-36865dac><span class="vpi-social-discord"></span></a><a class="VPSocialLink no-icon" href="https://github.com/clice-io/clice" aria-label="github" target="_blank" rel="noopener" data-v-0a01d640 data-v-36865dac><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-fa22aa31 data-v-017f7456><span class="container" data-v-017f7456><span class="top" data-v-017f7456></span><span class="middle" data-v-017f7456></span><span class="bottom" data-v-017f7456></span></span></button></div></div></div></div><div class="divider" data-v-fa22aa31><div class="divider-line" data-v-fa22aa31></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-24511351 data-v-d5903e19><div class="container" data-v-d5903e19><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-d5903e19><span class="vpi-align-left menu-icon" data-v-d5903e19></span><span class="menu-text" data-v-d5903e19>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-d5903e19 data-v-4b731308><button data-v-4b731308>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-24511351 data-v-1489031f><div class="curtain" data-v-1489031f></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-1489031f><span class="visually-hidden" id="sidebar-aria-label" data-v-1489031f> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-06590693><section class="VPSidebarItem level-0 collapsible" data-v-06590693 data-v-7098a323><div class="item" role="button" tabindex="0" data-v-7098a323><div class="indicator" data-v-7098a323></div><h2 class="text" data-v-7098a323>Design</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-7098a323><span class="vpi-chevron-right caret-icon" data-v-7098a323></span></div></div><div class="items" data-v-7098a323><!--[--><div class="VPSidebarItem level-1 is-link" data-v-7098a323 data-v-7098a323><div class="item" data-v-7098a323><div class="indicator" data-v-7098a323></div><a class="VPLink link link" href="/design/architecture" data-v-7098a323><!--[--><p class="text" data-v-7098a323>Architecture</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-7098a323 data-v-7098a323><div class="item" data-v-7098a323><div class="indicator" data-v-7098a323></div><a class="VPLink link link" href="/design/compilation" data-v-7098a323><!--[--><p class="text" data-v-7098a323>Compilation</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-7098a323 data-v-7098a323><div class="item" data-v-7098a323><div class="indicator" data-v-7098a323></div><a class="VPLink link link" href="/design/header-context" data-v-7098a323><!--[--><p class="text" data-v-7098a323>Header Context</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-7098a323 data-v-7098a323><div class="item" data-v-7098a323><div class="indicator" data-v-7098a323></div><a class="VPLink link link" href="/design/template-resolver" data-v-7098a323><!--[--><p class="text" data-v-7098a323>Template Resolver</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-06590693><section class="VPSidebarItem level-0 collapsible has-active" data-v-06590693 data-v-7098a323><div class="item" role="button" tabindex="0" data-v-7098a323><div class="indicator" data-v-7098a323></div><h2 class="text" data-v-7098a323>Development</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-7098a323><span class="vpi-chevron-right caret-icon" data-v-7098a323></span></div></div><div class="items" data-v-7098a323><!--[--><div class="VPSidebarItem level-1 is-link" data-v-7098a323 data-v-7098a323><div class="item" data-v-7098a323><div class="indicator" data-v-7098a323></div><a class="VPLink link link" href="/dev/build" data-v-7098a323><!--[--><p class="text" data-v-7098a323>Build from Source</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-7098a323 data-v-7098a323><div class="item" data-v-7098a323><div class="indicator" data-v-7098a323></div><a class="VPLink link link" href="/dev/contribution" data-v-7098a323><!--[--><p class="text" data-v-7098a323>Contribution</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-7098a323 data-v-7098a323><div class="item" data-v-7098a323><div class="indicator" data-v-7098a323></div><a class="VPLink link link" href="/dev/extension" data-v-7098a323><!--[--><p class="text" data-v-7098a323>Extension</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-7098a323 data-v-7098a323><div class="item" data-v-7098a323><div class="indicator" data-v-7098a323></div><a class="VPLink link link" href="/dev/test-and-debug" data-v-7098a323><!--[--><p class="text" data-v-7098a323>Test and Debug</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-06590693><section class="VPSidebarItem level-0 collapsible" data-v-06590693 data-v-7098a323><div class="item" role="button" tabindex="0" data-v-7098a323><div class="indicator" data-v-7098a323></div><h2 class="text" data-v-7098a323>Guide</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-7098a323><span class="vpi-chevron-right caret-icon" data-v-7098a323></span></div></div><div class="items" data-v-7098a323><!--[--><div class="VPSidebarItem level-1 is-link" data-v-7098a323 data-v-7098a323><div class="item" data-v-7098a323><div class="indicator" data-v-7098a323></div><a class="VPLink link link" href="/guide/configuration" data-v-7098a323><!--[--><p class="text" data-v-7098a323>Configuration</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-7098a323 data-v-7098a323><div class="item" data-v-7098a323><div class="indicator" data-v-7098a323></div><a class="VPLink link link" href="/guide/quick-start" data-v-7098a323><!--[--><p class="text" data-v-7098a323>Quick Start</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-7098a323 data-v-7098a323><div class="item" data-v-7098a323><div class="indicator" data-v-7098a323></div><a class="VPLink link link" href="/guide/what-is-clice" data-v-7098a323><!--[--><p class="text" data-v-7098a323>What is clice?</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-24511351 data-v-5cfd54a6><div class="VPDoc has-sidebar has-aside" data-v-5cfd54a6 data-v-bbef34fe><!--[--><!--]--><div class="container" data-v-bbef34fe><div class="aside" data-v-bbef34fe><div class="aside-curtain" data-v-bbef34fe></div><div class="aside-container" data-v-bbef34fe><div class="aside-content" data-v-bbef34fe><div class="VPDocAside" data-v-bbef34fe data-v-606ad2c6><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-606ad2c6 data-v-52cb4cd4><div class="content" data-v-52cb4cd4><div class="outline-marker" data-v-52cb4cd4></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-52cb4cd4>On this page</div><ul class="VPDocOutlineItem root" data-v-52cb4cd4 data-v-6c15f963><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-606ad2c6></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-bbef34fe><div class="content-container" data-v-bbef34fe><!--[--><!--]--><main class="main" data-v-bbef34fe><div style="position:relative;" class="vp-doc _dev_extension" data-v-bbef34fe><div><h1 id="extension" tabindex="-1">Extension <a class="header-anchor" href="#extension" aria-label="Permalink to &quot;Extension&quot;"></a></h1><p>This section covers development and release workflows for the editor extensions (VSCode / Neovim / Zed).</p><h2 id="vscode" tabindex="-1">VSCode <a class="header-anchor" href="#vscode" aria-label="Permalink to &quot;VSCode&quot;"></a></h2><p>The VSCode extension uses the Node/PNPM/VSCE toolchain. Work inside the pixi <code>node</code> environment for consistent versions.</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># prepare environment (install pixi first)</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">pixi</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> shell</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> node</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># install deps (uses pnpm-lock)</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">pixi</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install-vscode</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># package the extension; outputs editors/vscode/*.vsix</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">pixi</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build-vscode</span></span></code></pre></div><p>Publish to the VSCode Marketplace (<code>VSCE_PAT</code> env var required):</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">pixi</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> publish-vscode</span></span></code></pre></div><div class="tip custom-block github-alert"><p class="custom-block-title">TIP</p><p>If clice is already built locally, set <code>clice.executable</code> in VSCode settings to point the extension to your custom binary.</p></div><p>Develop and debug:</p><ol><li><code>pixi shell -e node</code></li><li>In <code>editors/vscode</code>, run <code>pnpm run watch</code> for incremental builds</li><li>In VSCode, use the “Run Extension/Launch Extension” configs, or run <code>code --extensionDevelopmentPath=$(pwd)/editors/vscode</code></li></ol><p>Common scripts (inside <code>pixi shell -e node</code>):</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">pnpm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> package</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # same as pixi run build-vscode</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">pnpm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> publish</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # same as pixi run publish-vscode</span></span></code></pre></div><p>If you skip pixi, install node.js &gt;= 20 and pnpm yourself, then in <code>editors/vscode</code> run:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">pnpm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">pnpm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> package</span></span></code></pre></div><h2 id="neovim" tabindex="-1">Neovim <a class="header-anchor" href="#neovim" aria-label="Permalink to &quot;Neovim&quot;"></a></h2><p>The Neovim extension lives in <code>editors/nvim</code> and is written in Lua. It is still evolving.</p><ul><li>Add the repo path to <code>runtimepath</code>, e.g. <code>set rtp+=/path/to/clice/editors/nvim</code></li><li>Or create a local symlink: <code>~/.config/nvim/pack/clice/start/clice</code> -&gt; <code>&lt;repo&gt;/editors/nvim</code></li><li>Ensure the <code>clice</code> executable is discoverable in <code>$PATH</code></li></ul><p>Dev tips: the codebase is small—load it directly in Neovim and watch <code>:messages</code>/LSP logs; format with <code>stylua</code> (config included).</p><h2 id="zed" tabindex="-1">Zed <a class="header-anchor" href="#zed" aria-label="Permalink to &quot;Zed&quot;"></a></h2><p>The Zed extension lives in <code>editors/zed</code> and uses Rust plus <code>zed_extension_api</code>.</p><p>Suggested local verification:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> editors/zed</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">cargo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --release</span></span></code></pre></div><p>Then load the local extension per Zed&#39;s official guide (Zed CLI required). Make sure <code>clice</code> is on <code>PATH</code> before launching. Follow the Zed extension publishing flow when releasing.</p></div></div></main><footer class="VPDocFooter" data-v-bbef34fe data-v-3de8f80a><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-3de8f80a><span class="visually-hidden" id="doc-footer-aria-label" data-v-3de8f80a>Pager</span><div class="pager" data-v-3de8f80a><a class="VPLink link pager-link prev" href="/dev/contribution" data-v-3de8f80a><!--[--><span class="desc" data-v-3de8f80a>Previous page</span><span class="title" data-v-3de8f80a>Contribution</span><!--]--></a></div><div class="pager" data-v-3de8f80a><a class="VPLink link pager-link next" href="/dev/test-and-debug" data-v-3de8f80a><!--[--><span class="desc" data-v-3de8f80a>Next page</span><span class="title" data-v-3de8f80a>Test and Debug</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"design_architecture.md\":\"B-ctAdqa\",\"design_compilation.md\":\"CgLBgVWN\",\"design_header-context.md\":\"CLeWGHwo\",\"design_index.md\":\"Buyl5Jmv\",\"design_template-resolver.md\":\"BNn_jKB5\",\"dev_build.md\":\"BMRSQYou\",\"dev_contribution.md\":\"DhEkIBdN\",\"dev_extension.md\":\"XVgKd8kt\",\"dev_test-and-debug.md\":\"Cd8ZNQsd\",\"guide_configuration.md\":\"D4nmP_A7\",\"guide_quick-start.md\":\"CTAi4GI0\",\"guide_what-is-clice.md\":\"D2ebPDnR\",\"index.md\":\"BIyS1X5z\",\"zh_design_architecture.md\":\"Dtjvys6J\",\"zh_design_compilation.md\":\"spz_aNkl\",\"zh_design_header-context.md\":\"ySoc9rIE\",\"zh_design_index.md\":\"C7K-QRDi\",\"zh_design_template-resolver.md\":\"DDSv4CNK\",\"zh_dev_build.md\":\"25ZHlRiJ\",\"zh_dev_contribution.md\":\"DxaaX3ax\",\"zh_dev_extension.md\":\"CNVomHxL\",\"zh_dev_test-and-debug.md\":\"Cv4TROgb\",\"zh_guide_configuration.md\":\"z9oxX9Dn\",\"zh_guide_quick-start.md\":\"B-Yy5Njn\",\"zh_guide_what-is-clice.md\":\"CEXKoZ_c\",\"zh_index.md\":\"Ddga0o0y\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"clice\",\"description\":\"a powerful and modern C++ language server\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Home\",\"link\":\"/\"}],\"sidebar\":{\"/zh/\":[{\"text\":\"Design\",\"collapsed\":false,\"items\":[{\"text\":\"Architecture\",\"link\":\"/zh/design/architecture\"},{\"text\":\"Compilation\",\"link\":\"/zh/design/compilation\"},{\"text\":\"Header Context\",\"link\":\"/zh/design/header-context\"},{\"text\":\"Template Resolver\",\"link\":\"/zh/design/template-resolver\"}]},{\"text\":\"Development\",\"collapsed\":false,\"items\":[{\"text\":\"Build from Source\",\"link\":\"/zh/dev/build\"},{\"text\":\"Contribution\",\"link\":\"/zh/dev/contribution\"},{\"text\":\"Extension\",\"link\":\"/zh/dev/extension\"},{\"text\":\"Test and Debug\",\"link\":\"/zh/dev/test-and-debug\"}]},{\"text\":\"Guide\",\"collapsed\":false,\"items\":[{\"text\":\"Configuration\",\"link\":\"/zh/guide/configuration\"},{\"text\":\"Quick Start\",\"link\":\"/zh/guide/quick-start\"},{\"text\":\"What is clice?\",\"link\":\"/zh/guide/what-is-clice\"}]}],\"/\":[{\"text\":\"Design\",\"collapsed\":false,\"items\":[{\"text\":\"Architecture\",\"link\":\"/design/architecture\"},{\"text\":\"Compilation\",\"link\":\"/design/compilation\"},{\"text\":\"Header Context\",\"link\":\"/design/header-context\"},{\"text\":\"Template Resolver\",\"link\":\"/design/template-resolver\"}]},{\"text\":\"Development\",\"collapsed\":false,\"items\":[{\"text\":\"Build from Source\",\"link\":\"/dev/build\"},{\"text\":\"Contribution\",\"link\":\"/dev/contribution\"},{\"text\":\"Extension\",\"link\":\"/dev/extension\"},{\"text\":\"Test and Debug\",\"link\":\"/dev/test-and-debug\"}]},{\"text\":\"Guide\",\"collapsed\":false,\"items\":[{\"text\":\"Configuration\",\"link\":\"/guide/configuration\"},{\"text\":\"Quick Start\",\"link\":\"/guide/quick-start\"},{\"text\":\"What is clice?\",\"link\":\"/guide/what-is-clice\"}]}]},\"socialLinks\":[{\"icon\":\"discord\",\"link\":\"https://discord.gg/PA3UxW2VA3\"},{\"icon\":\"github\",\"link\":\"https://github.com/clice-io/clice\"}],\"outline\":\"deep\"},\"locales\":{\"root\":{\"label\":\"English\"},\"zh\":{\"label\":\"简体中文\"}},\"scrollOffset\":134,\"cleanUrls\":true}");</script>
</body>
</html>