diff --git a/vscode/Command-Palette/README.md b/vscode/Command-Palette/README.md
new file mode 100644
index 0000000..32ea163
--- /dev/null
+++ b/vscode/Command-Palette/README.md
@@ -0,0 +1,6 @@
+# 命令行
+
+command palette | 简单说明
+----------------------------------------------|---------------------------------
+`Developer: Inspect Editor Tokens and Scopes` | 查看查看代码中各个部分的作用域,对定制代码高亮很有用
+`File: Set Active Editor Readonly in Session` | 设置当前文件为只读,同理还有 Reset 和 Toggle 命令
diff --git a/vscode/Debug/README.md b/vscode/Debug/README.md
new file mode 100644
index 0000000..4a5434f
--- /dev/null
+++ b/vscode/Debug/README.md
@@ -0,0 +1,68 @@
+# [vscode 调试](https://code.visualstudio.com/docs/editor/debugging#_launch-configurations)
+
+调试文件所在位置:`.vscode/launch.json`
+
+## [支持的变量名](https://code.visualstudio.com/docs/editor/variables-reference)
+
+variables | 说明 | 示例值
+-----------------------------|----------------------------------|-------------------------------------------------------------------
+`${workspaceFolder}` | 当前工作目录的绝对路径 | `C:\Users\Public\TEMP\all-code-tmp`
+`${workspaceFolderBasename}` | 当前工作目录的文件夹名称 | `all-code-tmp`
+`${file}` | 当前文件的绝对路径 | `C:\Users\Public\TEMP\all-code-tmp\js\b\test.js`
+`${fileWorkspaceFolder}` | 当前文件所在的工作目录的绝对路径 | `C:\Users\Public\TEMP\all-code-tmp`
+`${fileBasename}` | 当前文件名 | `test.js`
+`${fileBasenameNoExtension}` | 当前文件名,没有扩展名 | `test`
+`${fileExtname}` | 当前文件扩展名 | `.js`
+`${fileDirname}` | 当前文件所在目录的绝对路径 | `C:\Users\Public\TEMP\all-code-tmp\js\b`
+`${fileDirnameBasename}` | 当前文件所在目录的文件夹名 | `b`
+`${relativeFile}` | 当前文件相对工作目录的相对路径 | `js\b\test.js`
+`${relativeFileDirname}` | 当前文件所在目录的相对路径 | `js\b`
+`${userHome}` | 当前用户的目录 | `C:\Users\Linhi`
+`${execPath}` | vscode 运行程序路径 | `C:\Users\Linhi\AppData\Local\Programs\Microsoft VS Code\Code.exe`
+`${pathSeparator}` | 路径分隔符 | `\`
+`${lineNumber}` | 鼠标选中内容所在行数 | `3`
+`${selectedText}` | 鼠标选中的内容 | `log('hello, world!')`
+`${cwd}` | | `C:\Users\Public\TEMP\all-code-tmp`
+`${defaultBuildTask}` | |
+
+## jest 调试
+
+```json
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "type": "node",
+ "request": "launch", // launch 直接运行文件并调试;还有一个值是 attach,表示调试一个正在运行的程序(比如网页)。
+ "name": "Jest Debug 调试",
+ "program": "${workspaceFolder}\\node_modules\\jest\\bin\\jest", // 不能是 ${workspaceFolder}\\node_modules\\.bin\\jest
+ "args": ["read-all-file-full-name.test"], // 提供给 jest 的参数
+ }
+ ]
+}
+```
+
+## nodemon 调试
+
+```json
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "type": "node",
+ "request": "launch",
+ "name": "nodemon",
+ // npm i -g nodemon
+ "runtimeExecutable": "nodemon",
+ "program": "${workspaceFolder}/src/",
+ "restart": true,
+ "console": "integratedTerminal",
+ "internalConsoleOptions": "neverOpen",
+ "env": {
+ "debug": "app:*",
+ }
+ }
+ ]
+}
+
+```
diff --git "a/vscode/Debug/\350\260\203\350\257\225\346\272\220\347\240\201.md" "b/vscode/Debug/\350\260\203\350\257\225\346\272\220\347\240\201.md"
new file mode 100644
index 0000000..0d5cbed
--- /dev/null
+++ "b/vscode/Debug/\350\260\203\350\257\225\346\272\220\347\240\201.md"
@@ -0,0 +1,84 @@
+# 调试源码
+
+## 通过 vite 搭建的项目,测试 vue 源码
+
+1. 编译源码,生成 map 文件
+
+ ```sh
+ git clone --shallow-since="2023-09-06" https://github.com/vuejs/core.git
+
+ cd core
+
+ git checkout b775b71c788499ec7ee58bc2cf4cd04ed388e072
+ # 可选
+
+ pnpm install
+
+ node scripts/build.js --sourcemap
+
+ pnpm run build-dts
+ ```
+
+2. 可选操作
+
+ 默认生成的 sourcemap 路径是相对路径,如果没有找到对应的源代码,则 vscode 会自动生成一个只读源文件。想要解决只读问题,有两种方法:
+
+ - 一种是拷贝源代码到 node_modules 中的特定位置,比如将 vue 源码中的 `packages\reactivity\src` 目录拷贝到项目中的 `node_modules\@vue\reactivity\src` 位置。另一种就是
+ - 另一种是修改 sourcemap 的路径为绝对路径,方法是添加 `output.sourcemapPathTransform` 配置,代码如下
+
+ ```js
+ /* rollup.config.js */
+ // ....
+ output.sourcemap = !!process.env.SOURCE_MAP
+ // 添加下面代码,这里大概是 116 行
+ output.sourcemapPathTransform = (relativeSourcePath, sourcemapPath) => {
+ const newSourcePath = path.join(path.dirname(sourcemapPath), relativeSourcePath);
+ return newSourcePath;
+ }
+ // ....
+ ```
+
+3. 在 vite 项目中开始调试
+
+ 打开一个已有的 vite 项目,或者重新创建一个 vite 项目(`npm create vue@latest`)。
+
+ 将 vue 源码生成的 dist 目录中的 map 文件拷贝到 vite 项目中对应 vue 源码位置上。比如直接将 vue 源码中的 `packages\reactivity\dist` 拷贝到项目中的 `node_modules\@vue\reactivity\dist`
+
+ (TODO: 这一块还不是很懂,但新版本的 vscode 中似乎不需要添加该配置项了。还是建议加上,因为似乎有点问题)
+ 非常重要的一点:禁用 vue 的预加载❗ 不然路径就变了。
+
+ 在 vite.config.js 中添加以下配置
+
+ ```js
+ export default defineConfig({
+ optimizeDeps: {
+ exclude: ['vue']
+ }
+ })
+ ```
+
+ 然后启动该项目(`npm run vite`)。
+
+ 打上断点
+
+ 添加 `.vscode/launch.json` 文件
+
+ ```json
+ {
+ // Use IntelliSense to learn about possible attributes.
+ // Hover to view descriptions of existing attributes.
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "type": "msedge",
+ "request": "launch",
+ "name": "Launch Edge against localhost",
+ "url": "http://localhost:5173/",
+ "webRoot": "${workspaceFolder}"
+ }
+ ]
+ }
+ ```
+
+ 开始调试,完成!
diff --git a/vscode/Emmet/README.md b/vscode/Emmet/README.md
new file mode 100644
index 0000000..4877611
--- /dev/null
+++ b/vscode/Emmet/README.md
@@ -0,0 +1,10 @@
+# [Emmet](https://code.visualstudio.com/docs/editor/emmet)
+
+Emmet 用来提供简写,比如在 HTML 文件中,输入下面内容:
+
+- `div#id>p`
+- `div{$}*10`
+- `.box$*10`
+- `ul>li*18`
+
+可在 [Emmet 文档](https://docs.emmet.io/cheat-sheet/) 中查看所有可用的简写
diff --git a/vscode/Extension/README.md b/vscode/Extension/README.md
new file mode 100644
index 0000000..4ff1405
--- /dev/null
+++ b/vscode/Extension/README.md
@@ -0,0 +1,78 @@
+# vscode 扩展
+
+## 🍕 安装的扩展插件
+
+extension Identifier | extension name | 简单说明
+--------------------------------------|----------------------------------------|------------------------------------
+streetsidesoftware.code-spell-checker | Spell Checker | 拼写检查
+darkriszty.markdown-table-prettify | Markdown Table Prettifier | markdown 表格工具
+shd101wyy.markdown-preview-enhanced | Markdown Preview Enhanced | 加强版预览 markdown
+ritwickdey.liveserver | Live Server | 本地在线服务器
+pkief.material-icon-theme | Material Icon Theme | 文件和文件夹图标
+formulahendry.code-runner | Code Runner | 运行代码
+donjayamanne.githistory | Git History | 查看 Git 历史记录
+||
+kisstkondoros.vscode-gutter-preview | Image preview | 图图片预览
+vue.volar | Vue Language Features (Volar) | 开发 Vue
+ms-vscode.cpptools | C/C++ | 运行 C/C++
+mikebovenlander.formate | formate: CSS/LESS/SCSS formatter | 格式化 CSS
+dbaeumer.vscode-eslint | ESLint | 前端代码格式检查
+tomoki1207.pdf | vscode-pdf | vscode 查看 pdf 文件
+formulahendry.auto-rename-tag | Auto Rename Tag | 自动重命名元素开闭标签名
+standard.vscode-standard | StandardJS - JavaScript Standard Style | 一种 JS 格式规范检查
+mongodb.mongodb-vscode | MongoDB for VS Code | 连接 MongoDB 数据库
+ms-python.python | Python | 运行 python
+grapecity.gc-excelviewer | Excel Viewer | vscode 查看 Excel 文件
+lixquid.calculator | Calculator | 选择数学表达式直接计算结果
+emeraldwalk.runonsave | Run on Save | 保存时自动执行命令
+shahilkumar.docxreader | Docx/ODT Viewer | 可以简单的查看 docx 内容,适合快速查看多个 docx 文件内容!
+
+## 🍕 没有安装或使用的插件
+
+extension Identifier | extension name | 简单说明
+-----------------------------------|----------------------|--------------------------------------
+helixquar.asciidecorator | ASCIIDecorator | 可以生成各种各样的 "终端大字体", 挺有意思的
+xsro.masm-tasm | MASM/TASM | 可以直接在 vscode 运行汇编, 有些 bug, 但能满足简单的使用.
+zh-hans | Chinese (Simplified) | 语言包
+oderwat.indent-rainbow | indent-rainbow | 可以配置 vscode 的缩进颜色和对齐线颜色啥的, 太花里胡哨
+christian-kohler.path-intellisense | Path Intellisense | 可以提示, 但是提示的位置偏下, 而且好像有些文件也还是不会显示
+sachinb94.css-tree | css tree | 选中 HTML 时自动生成 css 嵌套树, 有点鸡肋
+formulahendry.auto-close-tag | Auto Close Tag | vscode 已经提供了标签自闭合
+
+extension Identifier | extension name | 简单说明
+----------------------------|------------------------------------------|-------------------------------------
+ms-vscode-remote.remote-wsl | WSL | 允许 vscode 打开 Window 中的内置 Linux 系统文件
+remisa.shellman | shellman | 提供 shell 脚本代码片段
+timonwong.shellcheck | shellcheck | shell 脚本检查
+esbenp.prettier-vscode | Prettier - Code formatter |
+gimly81.matlab | Matlab Unofficial |
+redhat.java | Language Support for Java(TM) by Red Hat |
+pthorsson.vscode-jsp | Java Server Pages (JSP) | 不再维护(支持jsp语法高亮)
+lixquid.calculator | Calculator | 选中文本直接计算出结果值
+ms-python.black-formatter | Black Formatter |
+ms-python.isort | isort |
+
+## 🍕 某些插件的说明
+
+### Auto Rename Tag
+
+虽然 `"editor.linkedEditing": true` 配置和 Auto Rename Tag 类似,
+但是它不如插件好用, 比如先删除掉标签名, 再写时, 前者就无法继续重命名了
+
+### Python 插件
+
+安装一个 Python 插件,会下载很多其他相关插件。比如 pylance, Jupyter, Jupyter Cell Tags, Jupyter Keymap ,Jupyter Notebook Renderers, Jupyter Slide Show。
+
+### ASCIIDecorator
+
+【使用方法】: 选中英文, 然后通过 `ctrl+shift+p` 执行 `font selector` 就可以看到效果, 选择喜欢的字体后回车, 则文本就会被替换成选中的文字;
+
+感觉不错的字体:
+
+- ANSI Shadow
+- DOS Rebel
+- Larry 3D
+- Electronic
+- Doh
+- Big Money-系列
+- Calvin S
diff --git a/vscode/Extension/preview-markdown.less b/vscode/Extension/preview-markdown.less
new file mode 100644
index 0000000..dfb13a2
--- /dev/null
+++ b/vscode/Extension/preview-markdown.less
@@ -0,0 +1,134 @@
+// 参考 https://shd101wyy.github.io/markdown-preview-enhanced/#/zh-cn/customize-css
+// less playground 网站:http://lesscss.org/less-preview/
+
+.markdown-preview.markdown-preview {
+ .font__special_chinese_punctuation("微软雅黑");
+
+ li,
+ pre[data-info="txt"],
+ p {
+ font-size : 1.5rem;
+ line-height : 2.3rem;
+ margin : 14px 0;
+ word-break : break-all;
+ overflow-wrap: break-word;
+ }
+
+ li input[type="checkbox"] {
+ width : 15px;
+ height: 15px;
+ margin: 0px 2px;
+
+ &::before {
+ content : '';
+ background-color: transparent;
+ }
+
+ }
+
+ a {
+ text-decoration: none;
+ color : skyblue;
+ padding : 0 2px 4px 2px;
+ box-shadow : 0 2px 0 0 skyblue;
+
+ &:hover {
+ color : deepskyblue;
+ box-shadow: 0 2px 0 0 deepskyblue;
+ }
+ }
+
+ code {
+ word-break : break-all;
+ border-radius : 2px;
+ overflow-x : auto;
+ background-color: #fff5f5;
+ color : #ff502c;
+ font-size : 1.3rem;
+ padding : 0 2px;
+ border : 0.1rem solid lightpink;
+ border-radius : 0.4rem;
+ }
+
+ pre::-webkit-scrollbar {
+ height: 4px;
+ }
+
+ pre code {
+ word-break : unset;
+ border : unset;
+ border-radius : unset;
+ overflow-x : unset;
+ background-color: unset;
+ color : unset;
+ padding : unset;
+ }
+
+ pre {
+ // 不知为啥,网页端上的默认样式居然设置为 0.85em !important。所以这里只能通过 !important 来覆盖它。
+ font-size: 1.4rem !important;
+ }
+
+ blockquote {
+ padding : 20px;
+ padding-top : 10px;
+ border-top-left-radius: 40px;
+ outline : 1px solid skyblue;
+
+ p:first-child {
+ font-size : 1.2em;
+ font-weight: bold;
+ color : skyblue;
+ }
+
+ li,
+ p {
+ font-size : 1.3rem;
+ line-height: 2.2rem;
+ }
+ }
+
+ h2::before {
+ content: "🍕 ";
+ }
+
+ h3::before {
+ content: "🍕🍕 ";
+ }
+
+ table {
+ min-width: 80%;
+ margin : 10px auto;
+
+ th,
+ td {
+ text-align : center;
+ line-height: 2rem;
+ }
+ }
+}
+
+
+// 字体设置
+.font__special_chinese_punctuation(@font-chinese, @font-english: "Times New Roman") {
+ @font-face {
+ // 由于 font-english 中常常包含了中文标点符号,从而导致 font-chinese, 的字体无法应用到 中文标点符号。所以特地创建这么一个函数。
+ font-family: "__@{font-chinese}";
+ src : local(@font-chinese);
+ // ‘’ “” 【】 《》 () …… —— 、 。 ! , : ; ?
+ unicode-range: U+2018-2019, U+201C-201D, U+3010-3011, U+300A-300B, U+FF08-FF09,
+ U+2026, U+2014, U+3001, U+3002, U+FF01, U+FF0C, U+FF1A, U+FF1B, U+FF1F;
+ }
+
+ li,
+ p,
+ td,
+ th,
+ a,
+ pre[data-info="text"] {
+ font-family: "__@{font-chinese}",
+ @font-english,
+ @font-chinese,
+ serif;
+ }
+}
\ No newline at end of file
diff --git "a/vscode/Extension/\346\217\222\344\273\266\344\275\277\347\224\250\350\257\264\346\230\216.md" "b/vscode/Extension/\346\217\222\344\273\266\344\275\277\347\224\250\350\257\264\346\230\216.md"
new file mode 100644
index 0000000..83292e1
--- /dev/null
+++ "b/vscode/Extension/\346\217\222\344\273\266\344\275\277\347\224\250\350\257\264\346\230\216.md"
@@ -0,0 +1,50 @@
+
+
+
+# 插件使用说明
+
+## [Markdown Preview Enhanced](https://shd101wyy.github.io/markdown-preview-enhanced/#/zh-cn/customize-css)
+
+通过 `markdown-preview-enhanced.previewTheme` 配置项修改默认主题,我喜欢用 `medium.css`。
+
+还可以自定义样式,`ctrl+shift+p` 打开 `Markdown Preview Enhanced: Customize Css`,配置文件默认在 `~/.mume/style.less` 中。写在 `.markdown-preview.markdown-preview` 类中的样式将在所有 markdown 预览中生效。想要单独为某个 markdown 指定样式,可以在 markdown 开头中添加以下 id 或者 class, 然后在 `~/.mume/style.less` 编写对应的样式就可以了。如果不想在 `~/.mume/style.less` 写样式,可以直接在 markdown 中导入样式表。支持 less 或 css 文件。
+
+```md
+---
+id: "my-id"
+class: "my-class1 my-class2"
+---
+
+@import "my-style.less"
+```
+
+我的 markdown 中常见的元素有:
+
+- 普通文本:`p`, `li`
+- 标题:`h2`, `h3`, `h4`
+- 代码引用:`code` 注意代码块中也有 `code` 元素。
+- 代码块引用:`pre`
+- 块引用:`blockquote`
+- 表格:`table`, `tr`, `th`, `td`
+
+……相见恨晚!我早该知道有这个功能的!不说了,我现在沉迷在 css 中了!
+
+## cSpell 插件
+
+常用注释:
+
+```markdown
+
+
+ 允许单词直接组合,比如 helloworld。但不一定有效,比如 runonsave
+
+
+```
+
+下面这个用在 settings.json 中忽略配置项配置项中的特殊拼写。
+
+```json
+// spell-checker:ignoreRegExp /(? b > c.jsonc 这样子。这个就是 breadcrumbs
+ // 这个快捷键可以不借助鼠标来用来打开其他文件
+ // oem_period 是小数点【.】按键。
+ // 这个功能感觉会很有用,应该熟练起来
+ "key": "ctrl+shift+oem_period",
+ "command": "breadcrumbs.focusAndSelect",
+ "when": "breadcrumbsPossible && breadcrumbsVisible"
+ },
+
+
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************** ctrl 系列
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+
+
+ {
+ // 触发提示,非常有用!✨✨✨✨✨✨✨✨
+ "key": "ctrl+i",
+ "command": "editor.action.triggerSuggest",
+ "when": "editorHasCompletionItemProvider && textInputFocus && !editorReadonly && !suggestWidgetVisible"
+ },
+ {
+ // 切换侧边栏(文件栏)的显示与隐藏,非常有用✨✨✨✨✨✨。
+ "key": "ctrl+b",
+ "command": "workbench.action.toggleSidebarVisibility"
+ },
+ {
+ // 打开曾经打开过的文件夹。非常有用✨✨✨✨✨✨
+ "key": "ctrl+r",
+ "command": "workbench.action.openRecent"
+ },
+ {
+ // 切换 "Terminal" 窗口的显示和隐藏
+ "key": "ctrl+oem_3",
+ "command": "workbench.action.terminal.toggleTerminal",
+ "when": "terminal.active"
+ },
+ {
+ // 快速修复,一般用来查看有哪些修复错误的措施。挺有用的✨✨✨✨
+ // oem_period 是小数点【.】按键
+ "key": "ctrl+oem_period",
+ "command": "editor.action.quickFix",
+ "when": "editorHasCodeActionsProvider && textInputFocus && !editorReadonly"
+ },
+ {
+ // 删除一个单词。相当于 ctrl+shift+left+backspace 的组合。虽然挺好用的,但没怎么用。
+ // 因为 ctrl+shift+left+backspace 虽然按键比较多,但是它能让你看到会删除的内容。
+ // 但如果直接使用 ctrl+backspace 的话,要是删除多了,还得撤销,最后还是要换回 ctrl+shift+left+backspace 的方式。
+ "key": "ctrl+backspace",
+ "command": "deleteWordLeft",
+ "when": "textInputFocus && !editorReadonly"
+ },
+ {
+ // 切换标签页/窗口,以前的习惯是 alt+left(IDEA 的快捷键) 但现在改过来了
+ "key": "ctrl+pageup",
+ "command": "workbench.action.previousEditor"
+ },
+ {
+ // 同 "ctrl+pageup" 是一对的。
+ "key": "ctrl+pagedown",
+ "command": "workbench.action.nextEditor"
+ },
+ {
+ // 放大,有用!✨。因为 VScode 的字体大写是不统一的,比如 keyboard 界面的快捷键 ID 真的很小。
+ // oem_plus 是【+】按键
+ "key": "ctrl+oem_plus",
+ "command": "workbench.action.zoomIn"
+ },
+ {
+ // 放小,有用!✨
+ // oem_minus 是【-】按键
+ "key": "ctrl+oem_minus",
+ "command": "workbench.action.zoomOut"
+ },
+ {
+ // 切换 Panel 的显示与隐藏。 ✨
+ "key": "ctrl+j",
+ "command": "workbench.action.togglePanel"
+ },
+
+
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************** alt 系列
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+
+
+ {
+ // 将当前行上移,非常有用,与其他非常有用的快捷键组合时极强!✨✨✨✨✨✨✨✨✨✨✨✨
+ "key": "alt+up",
+ "command": "editor.action.moveLinesUpAction",
+ "when": "editorTextFocus && !editorReadonly"
+ },
+ {
+ // 将当前行下移,非常有用,与其他非常有用的快捷键组合时极强!✨✨✨✨✨✨✨✨✨✨✨✨
+ "key": "alt+down",
+ "command": "editor.action.moveLinesDownAction",
+ "when": "editorTextFocus && !editorReadonly"
+ },
+ {
+ // 很有用,在 markdown 中写内容时,当表格太大时,就不换行,当没有使用表格时就换行!✨✨✨✨✨✨✨
+ "key": "alt+z",
+ "command": "editor.action.toggleWordWrap"
+ },
+
+
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************** shift+alt 系列
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+
+
+ {
+ // 打开本地文件管理器,不是很常用,但要用到时很有用
+ "key": "shift+alt+r",
+ "command": "revealFileInOS",
+ "when": "!editorFocus" // 没有更改默认的 when 配置,所以需要通过快捷键(alt+~)定位到侧边栏才有效。
+ },
+ {
+ // 向上拷贝当前行,有用 ✨
+ "key": "shift+alt+up",
+ "command": "editor.action.copyLinesUpAction",
+ "when": "editorTextFocus && !editorReadonly"
+ },
+ {
+ // 向下拷贝当前行,有用 ✨
+ "key": "shift+alt+down",
+ "command": "editor.action.copyLinesDownAction",
+ "when": "editorTextFocus && !editorReadonly"
+ },
+ {
+ // 自动修复,用到的情况比较少。是命令 Auto Fix... 的快捷键
+ "key": "shift+alt+oem_period",
+ "command": "editor.action.autoFix",
+ "when": "textInputFocus && !editorReadonly && supportedCodeAction =~ /(\\s|^)quickfix\\b/"
+ },
+ {
+ // 格式化
+ "key": "shift+alt+f",
+ "command": "editor.action.formatDocument"
+ },
+ {
+ // 智能选择单词。普通的 ctrl+shift+right 会选中整个单词,比如 CodeEditor 会选中整个。
+ // 但是通过快捷键 shift+alt+right 可以只选中 Code 而不选中 Editor 。
+ // 如果不生效,需要检查 editor.smartSelect.selectSubwords 配置项是否为 true
+ "key": "shift+alt+right",
+ "command": "editor.action.smartSelect.expand",
+ "when": "editorTextFocus"
+ },
+
+
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************** ctrl+alt 系列(短小精悍!)
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+
+
+ {
+ // 向上增加一个光标光标,最有用的功能之一!✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
+ // 还有一个使用方式,是 ctrl+alt+鼠标点击,这个在需要选中很多行时非常有用✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
+ "key": "ctrl+alt+up",
+ "command": "editor.action.insertCursorAbove",
+ "when": "editorTextFocus"
+ },
+ {
+ // 向下增加一个光标光标,最有用的功能之一!✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
+ "key": "ctrl+alt+down",
+ "command": "editor.action.insertCursorBelow",
+ "when": "editorTextFocus"
+ },
+
+
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************** ctrl + shift 系列
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+
+
+ {
+ // 触发参数提示,有用✨
+ "key": "ctrl+shift+space",
+ "command": "editor.action.triggerParameterHints",
+ "when": "editorHasSignatureHelpProvider && editorTextFocus"
+ },
+ {
+ // 选中所有匹配项,非常有用✨✨✨✨✨
+ "key": "ctrl+shift+l",
+ "command": "editor.action.selectHighlights", // selectAllSearchEditorMatches
+ "when": "editorFocus"
+ },
+ {
+ // 切换 output 窗口的显示与隐藏
+ "key": "ctrl+shift+u",
+ "command": "workbench.action.output.toggleOutput",
+ "when": "workbench.panel.output.active"
+ },
+ {
+ // 创建新的终端 oem_3 表示 ~ 按键
+ "key": "ctrl+shift+oem_3",
+ "command": "workbench.action.terminal.new",
+ "when": "terminalProcessSupported || terminalWebExtensionContributedProfile"
+ },
+ {
+ // 打开原生终端窗口,目录是当前工作区
+ "key": "ctrl+shift+c",
+ "command": "workbench.action.terminal.openNativeConsole",
+ "when": "!terminalFocus"
+ },
+ {
+ // 曾经将这个快捷键改为 shift+enter。 但现在已经将习惯改回成默认快捷键了! respect!
+ "key": "ctrl+shift+enter",
+ "command": "editor.action.insertLineBefore",
+ "when": "editorTextFocus && !editorReadonly"
+ },
+ {
+ // 打开新窗口
+ "key": "ctrl+shift+n",
+ "command": "workbench.action.newWindow"
+ },
+ {
+ // 快速跳到配对的括号,比如 () [] {}
+ "key": "ctrl+shift+\\",
+ "command": "editor.action.jumpToBracket",
+ "when": "editorTextFocus"
+ },
+
+
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************** 下面是组合键
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+
+
+ {
+ // 折叠/展开当前最近的 “可展开折叠区域”
+ "key": "ctrl+k ctrl+l",
+ "command": "editor.toggleFold",
+ "when": "editorTextFocus && foldingEnabled"
+ },
+ {
+ // 全部折叠
+ "key": "ctrl+k ctrl+0",
+ "command": "editor.foldAll",
+ "when": "editorTextFocus && foldingEnabled"
+ },
+ {
+ // 全部展开
+ "key": "ctrl+k ctrl+j",
+ "command": "editor.unfoldAll",
+ "when": "editorTextFocus && foldingEnabled"
+ },
+ {
+ // 打开键盘快捷方式,是命令 Preferences: Open Keyboard Shortcuts 的快捷键。
+ // 我的快捷键几乎全是从这个窗口中提取出来的。
+ "key": "ctrl+k ctrl+s",
+ "command": "workbench.action.openGlobalKeybindings"
+ },
+ {
+ // 格式化所选内容
+ "key": "ctrl+k ctrl+f",
+ "command": "editor.action.formatSelection",
+ "when": "editorHasDocumentSelectionFormattingProvider && editorTextFocus && !editorReadonly"
+ },
+ {
+ // 进入全屏专注模式 / 沉浸式体验! 感觉很有用,但没怎么用到,反倒是 ctrl+B 用的多。 ✨
+ "key": "ctrl+k z",
+ "command": "workbench.action.toggleZenMode"
+ },
+ {
+ // 全部保存,当你打开多个标签页时就有用。
+ "key": "ctrl+k s",
+ "command": "saveAll"
+ },
+ {
+ // 选择当前文件的语言类型,某些情况下有用 —— 替代鼠标
+ "key": "ctrl+k m",
+ "command": "workbench.action.editor.changeLanguageMode",
+ "when": "!notebookEditorFocused"
+ },
+
+
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************** 插件提供的快捷键
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+ // * ************************************************************** * \\
+
+
+ {
+ // 运行代码
+ "key": "ctrl+alt+n",
+ "command": "code-runner.run"
+ },
+
+ {
+ // 终止代码运行。 因为习惯将程序输出在 output 中,所以这个命令挺有用的。
+ "key": "ctrl+alt+m",
+ "command": "code-runner.stop"
+ }
+
+]
\ No newline at end of file
diff --git a/vscode/README.md b/vscode/README.md
new file mode 100644
index 0000000..5778a0c
--- /dev/null
+++ b/vscode/README.md
@@ -0,0 +1,61 @@
+# 我的 vscode
+
+TODO:
+
+- [ ] 该仓库中的几乎所有内容已经无用了(太过熟悉了,就会感觉这些旧笔记写的不好),需要清理掉。
+- [ ] 完善 tasks 内容,总结 [该文章](https://juejin.cn/post/7035448197883363359) 中的有用知识点
+
+## 使用原则
+
+~~无规矩不成方圆~~,呃,好像不太合适。应该这么说,有关 vscode 的配置方面,我经常一弄就是弄好几个小时,甚至好几天。因为 vscode 可配置性很高,所以导致我一直在不断地寻找最适合的使用方案,以获得最佳的使用体验。这不,最近又有了新的灵感,而且又又又感觉这一次一定是最优秀的方案了。所以就有了这次的“使用原则”。(在此之前,使用原则我是写在 OneNote 里面的,所以也算是我第一次公开我的使用原则)
+
+我最常在 vscode 中捣鼓的,基本就是三个:
+
+- settings
+- extension
+- keyboard
+
+其中的快捷键现在捣鼓的比较少了,因为我已经开发了自己的快捷键扩展。这个时候就不得不谈谈我的所谓“拖延症”了。当我第一次知道可以在项目级别中自定义 settings 时(大概是初学没多久吧),我就 google 过如何在项目级别中自定义 keybinddings.json,然后发现官方没有提供这个功能,也不打算提供这个功能(原因见 [issue#10708]),自那时起,我就一直准备创建一个自己的快捷键扩展了。然后,这个计划鸽了近三年(我接触前端到现在还不到四年……)
+
+所以,现在主要捣鼓的其实就是 settings 和 keyboard。而 vscode 提供了下面几种方式能让我捣鼓:
+
+- default profile (application json)
+- profile
+- workspace
+
+经过我一段时间的使用,我现在规定使用原则如下:
+
+### default profile
+
+default profile 中的 settings 属于全局、应用级别的,这里面的东西一定要少而精!为此,原则上这里面中只允许配置应用级别的配置项,比如 `http.proxy` 和 `remote.SSH.remotePlatform`。
+
+但考虑到某些配置项很适合放在全局配置中。所以,对于这类配置项我会专门在这里指定,同时给出理由:
+
+ - `"workbench.iconTheme": "material-icon-theme"` 这个就不需要什么理由了吧。不过还是说一下,我使用这个的主要原因是因为 vscode 没有默认的文件夹图标!
+ - `cSpell.flagWords` 该配置项之所以如何重要,是因为 spell 插件中,某些错误的单词并不会得到提示,或者说某些我容易敲错的单词,spell 会将其识别为正确拼写的单词了。
+ - `"files.dialog.defaultPath": "D:\\"` 这是非常特殊的一项,你只能放在 application settings 才有效,但一旦你的 profile 中开启自定义了 settings,这一项又会失效。此外,之所以可以配置这一项,是因为我电脑中的文件夹都每个位置存放什么内容都规定好了,比如 D 盘里面只放代码!所以添加这一项对我来说非常有用。
+
+现在,由于 application settings 中添加了全局配置项,所以就要求其他的 profile 不允许自定义 settings 了。
+
+然后,default profile 中的扩展也必须少而精!因为在这里面的扩展要求他们全部都是应用到所有 profile 的。目前支持的扩展只有:
+
+- linhieng.linhieng-keymap 自己使用的快捷键
+- streetsidesoftware.code-spell-checker 英文检查
+- pkief.material-icon-theme 图标主题
+
+> 注意!
+> default profile 只是用于提供全局 settings 和扩展。实际使用时,并不会选中 default profile!
+
+### workspace
+
+workspace 空间的一个最大好处就是它的 settings 不会被 vscode 自动修改!还记得我初用 vscode 时,给 application settings 中的每一条配置项都添加了注释,后面整理时才发现很多注释都错乱了!原因就是,当你通过 UI 修改 settings 时,vscode 会自动修改 settings 中的内容,这就导致配置项被删了,但注释还在!久而久之,文件就变得很混乱。这也是我为什么选择将快捷键迁移到扩展中的原因,有 git 这个版本工具进行内容的管理,我会觉得非常舒适安全!
+
+虽然 workspace 可以自定义 settings,但这并不意味着可以滥用 workspace!所以对于 workspace 的使用我是一直在斟酌的,因为我有太多的经验了,当初第一次尝到 profile 的好处时,马上就迫不及待的建立了非常多的 profile,但后面几乎是一个文件一个 profile,使用起来非常难受,最终还是得全部重新整理,化繁为简。
+
+所以,workspace 不能滥用,目前只定义了三类 workspace:
+
+- note workspace: 只处理笔记,其中不允许有任何可运行代码!比如 lim-note-cli, lim-note-vscode, lim-note-web。lim-note-DSA 虽然也是 note,但由于还未整理好, 而且里面存在大量的可运行代码(python jupyter notebook)所以暂时不能纳入其中。
+- vs extension workspace: 包含了正在开发的 vscode 扩展项目
+- my default workspace: 用于替代 default profile 中的 settings,他同时对于一个 “默认 profile”,也是用于替代 default profile。毕竟 vscode 的使用场景很多,并不是所有内容都可以很简单的进行分类的。分类真的是一门学问!
+
+[issue#10708]: https://github.com/microsoft/vscode/issues/10708#issuecomment-241330047
diff --git a/vscode/Snippets/README.md b/vscode/Snippets/README.md
new file mode 100644
index 0000000..2d749df
--- /dev/null
+++ b/vscode/Snippets/README.md
@@ -0,0 +1,68 @@
+# [代码片段](https://code.visualstudio.com/docs/editor/userdefinedsnippets)
+
+
+
+全局代码片段支持以下参数:
+
+- `scope`:指定作用范围,不能乱写。并且区分大小写。使用逗号分割多个值。具体有哪些可用值,可通过 `ctrl+k m` 快捷键查看,注意是括号内的值。比如是 `html` 而不是 `HTML`,是 `markdown` 而不是 `Markdown`。
+
+- `prefix`:触发代码片段的前缀,通过字符串数组可以设置多个触发前缀。
+
+- `body`:具体的代码片段。可以是字符串,也可以是字符串数组。其中有一些特殊变量值,比如 `$1`, `$2`, ... 可指定 tab 跳转位置。`$0` 是最终光标的停留位置。`${1:default_name}`, `{2:default_name}`, ... 在 `$1`, `$2` 的基础上支持默认值(占位字符串)
+
+- `description`:描述信息
+
+## [vscode 代码片段中提供的变量](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_variables)
+
+使用方法:`$name` 或者 `${name:default_value}`。
+
+example | 说明
+---------------------|-------------
+`$TM_FILENAME` | 当前文件名
+`$TM_FILENAME_BASE` | 当前文件名,不含后缀
+`$TM_FILEPATH` | 当前文件的完整路径
+`$RELATIVE_FILEPATH` | 当前文件相对工作区的路径
+`$CURRENT_YEAR` | 年,比如 2023
+`$CURRENT_MONTH` | 月,比如 09
+`$CURRENT_DATE` | 日,比如 16
+`$CURRENT_HOUR` | 点,比如 10
+`$CURRENT_MINUTE` | 分,比如 27
+`$CURRENT_SECOND` | 秒,比如 14
+
+## 旧笔记搬运
+
+可以在项目中创建 `.vscode/.code-snippets` 文件,作为该目录中的特定代码片段。
+或者运行 snippet configure user snippets 创建全局、指定语言的代码片段。
+
+可以在 `%vscode安装目录%\Microsoft VS Code\resources\app\extensions\javascript\snippets` 中修改 js 文件的默认代码片段,其他语言同理。在这里面可以很方便的学习代码片段的编写以及使用方式,同时还可以找到一些不知道的代码片段,比如 `Region` 强制折叠。
+
+案例:
+
+```json
+{
+ "获取当前时间": {
+ "prefix": [ "get-time" ],
+ "body": [
+ "$CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE",
+ ],
+ "description": "获取当前时间"
+ },
+ "初始化 “长期更新的文件” 模板": {
+ "prefix": [ "!", "!" ],
+ "body": [
+ "/**",
+ " * @author: Linhieng",
+ " * @data: $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE",
+ " * @文件说明: $1 ",
+ " */"
+ ],
+ "description": "基本代码模板"
+ },
+}
+```
+
+代码片段属于 suggest。通过快捷键 ctrl+i 可触发 suggest。suggest 有很多类型,代码片段(snippets)只是其中的一类。通过 `editor.snippetSuggestions` 配置项可用来代码片段的显示级别,有以下可选值;
+ - `none`: 代码片段不显示在 “建议” 中。可搭配“插入代码片段”快捷键使用。
+ - `top`:代码片段级别最高,会显示在其他 suggest 类型的前面。当使用 top 时,可以为自定义的代码片段提供一个特殊的前缀,这样就能保证自己的代码片段一定在最上方了。
+ - `bottom`:与 `top` 相反。
+ - `inline`:默认值。表示穿插在其他类型之间。
diff --git "a/vscode/Snippets/\346\210\221\347\232\204\344\273\243\347\240\201\347\211\207\346\256\265.code-snippets" "b/vscode/Snippets/\346\210\221\347\232\204\344\273\243\347\240\201\347\211\207\346\256\265.code-snippets"
new file mode 100644
index 0000000..2c1d55e
--- /dev/null
+++ "b/vscode/Snippets/\346\210\221\347\232\204\344\273\243\347\240\201\347\211\207\346\256\265.code-snippets"
@@ -0,0 +1,69 @@
+// prettier-ignore
+{
+ // 全局变量
+ "time": {
+ "prefix": "sj",
+ "body": "$CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND"
+ },
+ "file basename": {
+ "prefix": "fileBasename",
+ "body": "$TM_FILENAME",
+ },
+ "file basename no extension": {
+ "prefix": "fileBasenameNoExtension",
+ "body": "$TM_FILENAME_BASE",
+ },
+ "comment": {
+ "prefix": "//",
+ "body": "// $0 ------------------------------------",
+ },
+
+ // 前端
+ "注释": {
+ "prefix": "/**",
+ "body": [
+ "/**",
+ " * $0",
+ " */",
+ ]
+ },
+ "请使用 anfn 代替 jt": {
+ "scope": "javascript,typescript,vue",
+ "prefix": "jt",
+ "body": [
+ "($1) => {$2}"
+ ],
+ "description": "请使用插件提供的 anfn 代码片段,而不是自定义代码片段!"
+ },
+ "初始化 HTML 文件": {
+ "scope": "html",
+ "prefix": [ "!", "!" ],
+ "body": [
+ "",
+ "",
+ "",
+ "
",
+ " ",
+ " ",
+ " ${1:Document}",
+ "",
+ "",
+ "",
+ " $2",
+ "",
+ "",
+ ""
+ ],
+ "description": "默认语言为中文的模板"
+ },
+
+ // markdown
+ "可缩进空格": {
+ "scope": "markdown",
+ "prefix": [ " ", "kg", "empty", "emsp" ],
+ "body": [
+ " "
+ ],
+ "description": "某些情况下想要使用空格缩进,但由不想让 md 文件忽略这些空格时,可以使用 emsp 空格"
+ },
+}
diff --git a/vscode/Tasks/README.md b/vscode/Tasks/README.md
new file mode 100644
index 0000000..96115fe
--- /dev/null
+++ b/vscode/Tasks/README.md
@@ -0,0 +1,134 @@
+# [vscode 中的 tasks](https://code.visualstudio.com/docs/editor/tasks)
+
+## [支持的变量名](https://code.visualstudio.com/docs/editor/variables-reference)
+
+同 debug 中的一样。
+
+## 自定义 task, 以运行 jest 测试当前文件为例
+
+```json
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "jest single file",
+ "type": "shell",
+ "windows": {
+ "command": "npx jest ${fileBasename}"
+ },
+ "group": "test",
+ "presentation": {
+ "reveal": "always",
+ "panel": "dedicated"
+ },
+ }
+ ]
+}
+```
+
+说明:
+
+- `label`: 该 task 的唯一标识
+- `type`: 默认有 `shell` 和 `process` 两种,后者是创建一个子进程
+- `command`: 要运行的具体命令。
+- `args`: 提供的参数。
+- `group`: 组别,默认有 test, build 两组。
+- `presentation`: 有关输出的一些配置
+ - `panel`: 设置为 `new` 时将打开一个新的终端运行
+ - `reveal`: 设置为 `silent` 将会在看不见的终端上运行,如果没有该终端,则新建一个终端。
+- `options`: 提供了下面三个配置项
+ - `cwd`:工作目录
+ - `env`:环境变量
+ - `shell`:可以用来指定 shell。
+- `runOptions`: 指示 tasks 的如何运行以及何时运行。
+- 更多配置可参考 [tasks.json schema](https://code.visualstudio.com/docs/editor/tasks-appendix)
+
+> 注意⚠️:
+>
+> 如果只使用 `command` 执行命令,那么很简单,该命令就是终端上运行的命令。但如果同时使用 `command` 和 `args`,那么就要确保 `command` 中不要添加参数,参数应该统一添加在 `args` 中。下面举一个错误的使用示例:
+>
+> ```json
+> "command": "npx jest"
+> "args": [
+> "${fileBasename}"
+> ]
+> ```
+>
+> 错误原因在于 `command` 中提供了参数,此时 `npx jest` 会被认为是单独的一个执行程序,并且由于有空格,所以会用引号将其包括起来,所以最后执行的命令是 `'npx jest' ${fileBasename}` 此时系统就会提供找不到对应命令。
+>
+> 所以正确的使用应该是下面这样的:
+>
+> ```json
+> "command": "npx"
+> "args": [
+> "jest",
+> "${fileBasename}"
+> ]
+> ```
+
+在 keyboardings.json 中添加快捷键以下快捷键:
+
+```json
+{
+ // ......
+ {
+ // 该快捷键用来运行 jest 测试
+ // 添加 when 是为了和首字母大写快捷键区分开,同时确保只在 *.test.js 文件中执行,后续可能还会添加 .(js|ts|jsx) 之类的。
+ "key": "ctrl+l ctrl+t",
+ "command": "workbench.action.tasks.runTask",
+ "when": "!editorHasSelection && resourceFilename =~ /.*test\\.(js)/",
+ "args": "jest single file"
+ },
+}
+```
+
+## 重定向 C 语言文件输入(旧笔记)
+
+```json
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "build",
+ "type": "shell",
+ "command": "C:\\msys64\\mingw64\\bin\\gcc.exe",
+ "args": [
+ "-fdiagnostics-color=always", // 在终端上显示彩色的诊断信息
+ // "-g", 要调试时开启此参数, 开启后生成的文件会更大
+ "${file}",
+ "-o",
+ "${fileDirname}\\${fileBasenameNoExtension}" // 如果不想在看见 exe 文件, 可以输出到其他为止, 然后注意下面的 run 也要修改执行的路径
+
+ ],
+ "options": {
+ "cwd": "${workspaceFolder}"
+ }
+ },
+ {
+ "label": "run",
+ "type": "shell",
+ // 重定向标准输入
+ "command": "type input.txt | ${fileDirname}/${fileBasenameNoExtension}.exe",
+ "options": {
+ "cwd": "${fileDirname}"
+ }
+ },
+ {
+ "label": "build-and-run",
+ "dependsOn": [ "build", "run" ] // 依次执行 build 和 run 任务
+ }
+ ]
+}
+```
+
+可以添加快捷键,目前 vscode 不支持 `.vscode/keybindings.jsonc`, 未来也大概率不会支持,详细请见 [issue 4504](https://github.com/Microsoft/vscode/issues/4504)。
+
+```jsonc
+[
+ {
+ "key": "ctrl+shift+alt+a",
+ "command": "workbench.action.tasks.runTask",
+ "args": "build-and-run" // 对应 task 中的 label
+ }
+]
+```
diff --git a/vscode/Tasks/draft.md b/vscode/Tasks/draft.md
new file mode 100644
index 0000000..34f8fa4
--- /dev/null
+++ b/vscode/Tasks/draft.md
@@ -0,0 +1,96 @@
+# 草稿
+
+```json
+// See https://go.microsoft.com/fwlink/?LinkId=733558
+// for the documentation about the tasks.json format
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "type": "npm",
+ "script": "watch",
+ "problemMatcher": "$tsc-watch",
+ "isBackground": true,
+ "presentation": {
+ "reveal": "never"
+ },
+ "group": {
+ "kind": "build",
+ "isDefault": true
+ }
+ },
+ {
+ "label": "Create package.json",
+ "type": "process",
+ "command": "pwsh",
+ "args": [
+ "-Command",
+ "New-Item -ItemType Directory -Force -Path 'out' && Write-Output '{\"type\":\"commonjs\"}' | Out-File -FilePath 'out/package.json' -Encoding UTF8",
+ ],
+ // "options": {
+ // "shell": {
+ // "executable": "pwsh",
+ // "args": [
+ // "-Command"
+ // ]
+ // }
+ // },
+ // "type": "shell",
+ // "command": "Write-Output '{\"\"type\":\"commonjs\"}' | Out-File -FilePath 'out/package.json' -Encoding UTF8",
+ // "options": {
+ // "shell": {
+ // "executable": "pwsh",
+ // "args": [
+ // "-Command"
+ // ]
+ // }
+ // },
+ "group": {
+ "kind": "build",
+ // "isDefault": true
+ }
+ }
+ ]
+}
+
+```
+
+```json
+// .vscode/tasks.json
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "type": "npm",
+ "script": "watch",
+ "problemMatcher": "$tsc-watch",
+ "isBackground": true,
+ "presentation": {
+ "reveal": "never"
+ },
+ "group": {
+ "kind": "build",
+ // "isDefault": true
+ }
+ },
+ {
+ "label": "debug misc",
+ "type": "process",
+ // 使用 pwsh.exe 运行命令
+ "command": "pwsh",
+ "args": [
+ "-Command",
+ // "New-Item -ItemType Directory -Force -Path 'out' && Write-Output '{\"type\":\"commonjs\"}' | Out-File -FilePath 'out/package.json' -Encoding UTF8",
+ // 由于该 task 依赖与 npm: watch 命令,所以可以确保 out 路径的存在。但考虑某某些极端情况下 npm: watch 不会生成新的 js 文件,所以还是保留上面命令
+ "New-Item -ItemType Directory -Force -Path 'out' && Write-Output '{\"type\":\"commonjs\"}' | Out-File -FilePath 'out/package.json' -Encoding UTF8",
+ ],
+ "dependsOn": ["npm: watch"],
+ "group": {
+ "kind": "build",
+ "isDefault": true
+ }
+ },
+ ]
+}
+
+```
diff --git a/vscode/Updates/README.md b/vscode/Updates/README.md
new file mode 100644
index 0000000..35e90c1
--- /dev/null
+++ b/vscode/Updates/README.md
@@ -0,0 +1,91 @@
+# 更新内容
+
+记录一些每次更新时觉得有趣/有用的功能
+
+## v1_94
+
+没啥值得记录的
+
+## v1_93
+
+没啥值得记录的
+
+## v1_92
+
+- 支持通过链接跳转到 vscode 的设置界面。比如[点击我](vscode-insiders://settings/debug.autoExpandLazyVariables),就会跳转。
+- `explorer.autoOpenDroppedFile` 配置拖拽文件到 vscode 时是否自动打开文件。
+- `editor.lightbulb.enabled` 设置电灯泡图标的显示位置
+- `debug.showVariableTypes`: debug 时,变量显示那里是否显示变量的类型
+- `debug.showVariableTypes`: 在多个 md 文件之间复制粘贴内容时,是否自动转换含有相对路径的链接。
+- `diffEditor.experimental.useTrueInlineView`: diff 界面中的单行变更,显示为单行而不是两行。
+
+## v1_91
+
+- 开启 `workbench.experimental.enableNewProfilesUI` 配置项,可以在单独一个页面中编辑所有 profile。
+
+- 在配置 "custom tabs labels" 时,添加了 `${extname(N)}` 格式用于获取第几个扩展名。
+ - 比如一个名为 `about.test.vue` 的文件,
+ - 其 `${extname(0)}` 为 `vue`,
+ - 其 `${extname(1)}` 为 `test`,
+ - 注意,`${extname(2)}` 不会是 `about`,因为该文件只有两个“扩展名”。
+
+- 配置 `debug.inlineValues` 为 `on`,在调试过程中可以始终显示变量的值,无需鼠标 hover。
+
+## v1_90
+
+- 支持使用 `window.newWindowProfile` 配置新窗口的默认 profile
+- 开发 vscode 扩展,使用 esbuild 作为 bundle。[详见官方案例参考](https://github.com/microsoft/vscode-extension-samples/tree/main/esbuild-sample)。
+
+- 注意,vscode 引入的 `terminal.integrated.suggest.enabled` 功能,目前看来不咋地,可能是因为我本身用的是 powershell 7 吧,pwsh7 本身就提供了代码提示,开启该功能后,启动终端时变慢了,而且输出了一段乱的 json 数据。
+
+## v1_89
+
+
+添加 `markdown.experimental.updateLinksOnPaste` 配置,能够让我们在 vscode 内复制粘贴 markdown 文本时,自动处理相对引用。
+
+下面是一个案例,假设我们有这么一段 md 文本:
+
+```md
+# 测试
+
+1. 请参考 [详见官方案例参考][ref1]。
+2. [读写文件][ref2]
+
+[ref1]: https://github.com/microsoft/vscode-extension-samples/tree/main/esbuild-sample
+[ref2]: https://docs.deno.com/runtime/tutorials/read_write_files
+```
+
+然后,我们只复制了 `1. 请参考 [详见官方案例参考][ref1]` 这一部分。在以前,我们粘贴后,还需要自己处理相对引用,但现在,当我们开启 `markdown.experimental.updateLinksOnPaste` 为 `true` 后,vscode 将会自动帮助我们处理 `ref1` 的相对引用。
+
+## v1_88
+
+- 新增功能 workbench.editor.customLabels.patterns
+
+当你配置:
+```json
+"workbench.editor.customLabels.patterns": {
+ "src/components/**": "/${dirname}.${extname}"
+}
+```
+然后,打开 src/components/Button/index.vue 和 src/components/Aside/index.vue 时,编辑器上会显示 /Button.vue 和 /Aside.vue,而不是 index.vue
+
+- 新增命令 View: Toggle Locked Scrolling Across Editors
+
+开启锁定滚动后,当你滚动时,视口中的所有编辑器都会同步滚动。
+同时,你也可以为 `workbench.action.holdLockedScrolling` 命令配置快捷键,这样,当你按下这个快捷键时,可以临时锁定滚动。不过,经过我的实测效果一般,还存在 bug。
+
+- 🎉重新加载扩展时,终于不再需要重启整个窗口了!当然,ssh 中还是需要的。
+
+- 支持为新地图定义小标题
+
+在文件的每行中使用:`//#region 小标题` 或 `//MARK: 小标题`,此时小地图中会显示对应的小标题。
+
+- 新的文件链接格式 `FILE path:line:column`
+
+比如 `index.md line 6 column 4`
+
+
+## v1_86
+
+- 在 Command Palette 中以 `%` 开头可以快捷进行全局搜索。
+- 支持 Toggle Word Wrap in Output panel! (快捷键 `alt+z`)
diff --git a/vscode/Updates/v1_82.md b/vscode/Updates/v1_82.md
new file mode 100644
index 0000000..784e11d
--- /dev/null
+++ b/vscode/Updates/v1_82.md
@@ -0,0 +1,104 @@
+# vscode 1.82 简介
+
+我只记录对我个人来说有趣的特性。完整的更新记录请查看[官方文档](https://code.visualstudio.com/updates/v1_82)
+
+## Workbench
+
+### Built-in port forwarding
+
+1. 打开一个想要在网络上共享的文件夹
+2. 在终端上运行 `npx serve`,或者自己搭建一个 serve
+3. 命令行(ctrl+shift+p)运行 `ports: focus on Ports View`,选择一个端口启动
+4. 点击对应链接就可以在线上访问了,默认是私有的,只能登录对应的 github 账号才能看到
+
+### 控制是否允许鼠标和键盘快捷键来关闭 pinned tabs
+
+> 所谓 pinned tab,就是将某个 tab 固定在上方。可以通过鼠标右键点击 pin 来固定,或者通过快捷键 `ctrl+k, shift+enter` 来切换是否固定。
+
+`workbench.editor.preventPinnedEditorClose` 配置项有以下可选值:
+
+- `keyboardAndMouse` 默认,不允许鼠标和键盘来关闭被固定的 tab
+- `keyboard` 不允许键盘快捷键关闭(ctrl+w)
+- `mouse` 不允许鼠标中键关闭
+- `never` 允许鼠标和键盘快捷键来关闭
+
+## Editor
+
+### 允许通过快捷键快速定位 Code Actions 和 QuickFix 的 navigation
+
+简单的说,就是当执行了某个 Code Actions 或 QuickFix 时,会有一些选项,现在可以通过它们的首字母来快速切换了,不需要按上下键。
+
+> code actions: 比如选中某段代码,然后按下 `ctrl+shift+R` 触发重构,这就是一个 code actions
+
+### 支持保存 json 文件时自动排序
+
+开启 `json.sortOnSave.enable` 为 `true` 即可在保存 json/jsonc 的时候自动排序。
+
+```json
+// 排序前:
+{
+ "c": "xxx",
+ "b": "xxx"
+}
+// 排序后
+{
+ "b": "xxx",
+ "c": "xxx"
+}
+```
+
+## Diff Editor
+
+- `diffEditor.experimental.showMoves` 配置项,设置为 true 时能够显示代码块的移动。
+
+- `diffEditor.hideUnchangedRegions.enabled` 配置项,设置为 true 时会自动折叠(collapsing)未变更的代码。
+
+- `diffEditor.useInlineViewWhenSpaceIsLimited` 配置项,默认情况下,当两个 diff 宽度太小时,会自动变为一个 diff。设置为 false 可以禁止这一行为(不清楚有什么场景会用到,都看不见内容了)。
+
+## Ternimal
+
+- `terminal.integrated.hideOnStartup` 默认为 `never`,如果关闭某个项目时 ternimal 是显示状态的,那么再次打开时也会自动显示。设置为 `always` 可以禁止这一行为,这样一来每次打开之前的项目时,都不会自动显示出 ternimal 了。
+
+## Debug
+
+一个非常有用的更新,虽然只有短短几句话,但非常有用。
+
+> **Source map loading improvements**
+>
+> We made many improvements to the way source maps are loaded in this release:
+>
+> - Source maps in some common cases, like in applications compiled with the tsc command line, are loaded 3-5x faster.
+> - Hot module reloading from the Vite dev server is now supported.
+> - Source maps can now be automatically loaded from authenticated endpoints.
+
+其他的不清楚,但有关 vite 那条,指的是通过 vite 项目调试 vue 源码时,不需要在 vite.config.js 中配置以下内容了
+
+```js
+optimizeDeps: {
+ exclude: ['vue']
+}
+```
+
+## language
+
+搭配以下配置项:
+
+```json
+"editor.inlayHints.enabled": "on", // 可选,因为这是默认指
+"typescript.inlayHints.parameterNames.enabled": "all", // 必须,因为不是默认值
+"javascript.inlayHints.parameterNames.enabled": "all", // 必须,因为不是默认值
+```
+
+效果是:
+
+```ts
+function fn(a, b) {}
+// 未配置前,效果是:
+fn("123", 312);
+// 配置后,效果是:可以直接点击 a,b 参数调到对对应声明的位置(可能是声明文件)我记得这个功能在 idea 中一直都有的。
+fn(a: "123", b: 312);
+```
+
+## Preview Features
+
+打开 Command Palette(ctrl+p),输入 `%` 就可以在当前项目(workspace)中快速搜索对应内容了。
diff --git a/vscode/setting/README.md b/vscode/setting/README.md
new file mode 100644
index 0000000..26f81e3
--- /dev/null
+++ b/vscode/setting/README.md
@@ -0,0 +1,97 @@
+# 收集的配置项
+
+[The VS Code interface can roughly be divided into two main concepts: **containers** and **items**. Generally speaking, containers can be considered the larger sections of the VS Code interface that render one or more items:
+](https://code.visualstudio.com/api/ux-guidelines/overview)
+
+
+
+
+说明:
+
+- 容易可视化操作的配置项不会记录,比如 `"window.commandCenter": false` 配置项可以直接在窗口顶部通过鼠标左键操作。
+- 太过于常见的配置项不会记录,比如 `"editor.fontSize": 16`。
+- 见名思意的配置项不会详细记录,比如 `"editor.lineHeight": 32`。
+- 一些特定情况下触发的配置项不会记录,比如不小心开启讲述人功能时,vscode 会询问是否使用辅助功能,选择否后会增加 `"editor.accessibilitySupport": "off"` 配置项。
+- 会记录的配置项也不会面面俱到,比如 `"editor.suggestOnTriggerCharacters": true` 这种有关 suggest 的不会记录一条一条的记录,只会记录如何搜索(给出正则表达式),当有需要的时候,可以自行在默认配置文件 `defaultSettings.json` 中查找到。
+
+没有记录的配置项,但有用的配置项,大多数都会放在 [我的配置项文件中](../backup/settings.json)
+
+## 🍕 单行配置项
+
+### 配置项 - `suggest`
+
+配置项中的 suggest, 指的是默认代码提示,或者自定义的代码片段(snippets)。
+
+推荐的正则搜索表达式为:`"editor\..*suggest.*`
+
+需要说明的配置项有:
+
+- `editor.suggestSelection`, 该配置项可以控制 suggest 列表中焦点的初始位置。有下面三个可选值:
+ - 默认值 `first`, 表示默认焦点始终是第一项
+ - `recentlyUsed`, 初始焦点会定位到最近选择过的配置项。比如键入 `console.` 时,默认位置是 `assets`, 但如果你最近选择过 `log` 则会自动定位到 `log` 项。
+ - `recentlyUsedByPrefix`, 定位焦点的依据是:根据你当前输入的前缀,查找你最近输入该前缀时选择的是哪一项。也就是说,不同的前缀将会匹配不同的建议项。
+ - 比如你在键入 `l` 时选中 `let`, 而在键入 `le` 时选中 `length`, 那么下一次键入,当你键入前缀 `l` 时, 它会提供 `let` 给你选择,而当你再键入一个 e 组成 `le` 前缀时,它会提供 `length` 供你选择。
+ - 想要用好该配置项,需要你养成一些习惯。比如每当你输入前缀 `co` 时表示你要的是 `console`, 而当你输入前缀 `con` 时表示你要选择的是 `const`。只有这样,这个配置项才能发挥出它该有的优势。如果你没有养成习惯,那么这个配置项可能会让你很困惑,比如你键入 `con` 时既可能选择 `console`, 也可能选择 `const` 则默认焦点会频繁的改变,这是非常低效的行为。
+ - ⚠️注意事项:
+ - 该配置项只是改变焦点初始位置,不会调整建议列表中的每一项的顺序。
+ - 只有通过建议列表选中时,才会记录该建议项。如果是自己补全的,则不会被认为是最近选择过的。
+
+- `editor.acceptSuggestionOnCommitCharacter`。当你输入 “commit 字符” 时,是否选中当前 suggest 项。在 JavaScript 中的 “commit 字符” 有 `.`, `;`, `(`, `,`
+ - 默认值 `true`。 想要习惯这个配置项,需要养成一个习惯:当你想要的内容不在 suggest 列表中时,你需要先按下 `ESC` 关闭 suggest 列表,然后再键入你的 “commit 字符”。
+ - `false`。此时如果想要选择,需要按下回车 `enter`。如果不想按下回车时选中 suggest 项,请配置 `editor.acceptSuggestionOnEnter`。
+ - 说明:我最开始不习惯 vscode, 所以喜欢直接设置为 `false`, 但其实,当我想要的内容不在 suggest 列表中时,我可能需要想想代码写的对不对。或者是否正确的导入了对应语言的代码片段。如果输入的内容经常不在 suggest 列表中,则应该设置 `editor.suggestOnTriggerCharacters` 为 `false`, 这样就不会在键入时自动显示 suggest 列表了。而当需要 suggest 时,依旧可以通过默认快捷键 `ctrl+i` 的方式显示 suggest 列表。
+
+- `editor.suggest.matchOnWordStartOnly`。默认 `false`。由于我的英语不算很棒,某些语言的代码提示也还记的不熟,所以目前还需要设置为 `true`。当越来越熟练后,应该恢复默认值,这样能够更精准的定位我们想要的 suggest。
+
+- `editor.snippetSuggestions`。设置为 `top`,可以让 snippets 排在前面。但这要求我不滥用 snippets, 如果我设置的 snippets 容易与默认的代码片段冲突,则会让效率变低。
+
+### 配置项 - 空格、制表符、缩进
+
+- `editor.tabSize`。指定制表符的宽度(或者按下 tab 键时空格的数量)。
+
+- `editor.insertSpaces`。默认 `true`,表示按下 tab 键时插入空格,而不是插入制表符。格式化时,会根据该配置项来选择空格缩进或者制表符缩进。(但是,最需要统一缩进的 Python 却不支持。在 Python 中格式化时,空格缩进和制表符缩进会共存!)
+
+- `editor.detectIndentation`。默认 `true`。此时会覆盖 `editor.tabSize` 和 `editor.insertSpaces` 配置项。也就是说,会根据文件的原有的内容来设置 `editor.tabSize` 和 `editor.insertSpaces` 的值。格式化时也一样。
+
+- `"editor.indentSize": "tabSize"` 该配置项无法修改。之所以存在这个配置项,可能是在为未来考虑吧。
+
+- `editor.renderWhitespace`。指定什么时候会显示空格、制表符。`boundary` 属性值表示,除了单词之间的空格和制表符不显示,其他位置都显示
+
+- `editor.useTabStops`。默认为 `true`。效果是:当空格作为缩进时,删除时可以删除多个空格,行为上就跟删除制表符一样。设置为 `false` 时,删除空格会一个一个地删除.
+
+- `editor.stickyTabStops`。默认为 `false`。当设置为 `true` 时,光标在空格缩进上移动时,空格表现的像制表符一样。比如光标左右移动时将跳过一个制表符的宽度(多个空格),光标永远无法停留在中间的空格。
+
+- 如果将 `useTabStops` 和 `stickyTabStops` 都设置为 `true`,那么空格缩进完全等同于制表符缩进。
+
+- `editor.wrappingIndent`。自动换行时,溢出内容是否要进行缩进。以及如何缩进。
+ - 比如在 markdown 中设置 `"deepIndent"`。表示溢出内容换行时缩进两个缩进长度。视觉上效果比较好。
+
+- `editor.autoIndent`。换行时,应该如何缩进。
+ - `none`。始终不缩进。也就是说每次换行都会回到行首。
+ - `keep`。保持当前行的缩进量。也就是不会自动增加缩进。
+ - `brackets`。保留当前行的缩进量。但尊重编程语言所定义的 brackets。
+ - `advanced`。在 `brackets` 的基础上,调用编程语言所定义的 onEnterRules 。
+ - `full`。在 `advanced` 的基础上,尊重编程语言所定义的缩进规则。
+ - 默认是 `full`,之所以记录这个配置项,就是想告诉自己,不要想着能怎么改,乖乖使用默认的就行。
+
+### 配置项 - 终端
+
+- `terminal.integrated.defaultLocation`。配置新建终端时,在哪里创建。
+ - 默认是 `view`,也就是在下方的面板中创建终端窗口
+ - 设置为 `editor` 可以在编辑器中创建。效果等同于将终端拖拽到编辑区域中。这样终端能显示的更大。
+- `terminal.integrated.defaultProfile.windows`。配置默认终端
+ - 可选值只能从 `terminal.integrated.profiles.windows` 配置项中选取,默认提供了 `PowerShell`, `Command Prompt`, `Git Bash`。更多内容可以参考[官方文档 terminal profiles](https://code.visualstudio.com/docs/terminal/profiles)
+ - 如果想要更改终端的默认参数,也是在 `terminal.integrated.profiles.windows` 中创建自己的终端别名。比如下面这样:
+
+ ```json
+ "terminal.integrated.profiles.windows": {
+ "myTerminal": { // 这个就是我们创建的别名。"terminal.integrated.defaultProfile.windows": "myTerminal",
+ "source": "PowerShell", // 也可以指定路径: "path": "C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe",
+ "args": [ // 启动终端时附加的参数
+ "-noexit", // 当后面会带上命令时, 就需要明确告诉程序执行完后 "不要退出"
+ "clear;", // 分号在 powershell 是命令分隔符。powershell 中没有 &&
+ "echo hello"
+ ]
+ },
+ },
+ ```
diff --git a/vscode/setting/image.png b/vscode/setting/image.png
new file mode 100644
index 0000000..998fac7
Binary files /dev/null and b/vscode/setting/image.png differ
diff --git "a/vscode/setting/\345\215\225\350\241\214\351\205\215\347\275\256\351\241\271.jsonc" "b/vscode/setting/\345\215\225\350\241\214\351\205\215\347\275\256\351\241\271.jsonc"
new file mode 100644
index 0000000..7d2e658
--- /dev/null
+++ "b/vscode/setting/\345\215\225\350\241\214\351\205\215\347\275\256\351\241\271.jsonc"
@@ -0,0 +1,256 @@
+{
+ // 该代理只对 vscode 本身控制的网络有效,比如插件下载和安装。
+ "http.proxy": "http://127.0.0.1:7890",
+
+ // 文件排序方式
+ "explorer.sortOrder": "type",
+ // 让左侧文件夹目录只有单个文件夹时不自动合并为 a/b/c/d/e 形式
+ "explorer.compactFolders": false,
+ // 删除时是否询问
+ "explorer.confirmDelete": true,
+ // 启用 explorer.fileNesting
+ "explorer.fileNesting.enabled": true,
+ // 不自动展开折叠起来的文件
+ "explorer.fileNesting.expand": false,
+
+ // 光标宽度
+ "editor.cursorWidth": 4,
+ // 光标样式
+ "editor.cursorStyle": "line",
+ // 光标闪烁方式
+ "editor.cursorBlinking": "phase",
+ // 移动光标时提供动画过渡效果
+ "editor.cursorSmoothCaretAnimation": "on",
+
+ // 左右无空格时也可以自动配对 [{(
+ "editor.autoClosingBrackets": "always",
+ // 左右无空格时也可以自动配对 '"
+ "editor.autoClosingQuotes": "always",
+ // 通常设置为 never 用于取消自动闭合注释。详见 PR#192335。其 always 和 languageDefined 没什么区别
+ "editor.autoClosingComments": "never",
+ // auto 表示删除引号或括号时,只有当两个符号是相邻且是 vscode 提供的自动插入的符号时,才会自动删除右侧的符号。always 则始终删除两个相邻的符号。
+ "editor.autoClosingDelete": "always",
+ // type over closing quotes 中的 over 是闭合的意思,表示是否键入闭合引号或右括号时
+ "editor.autoClosingOvertype": "always",
+ // 当选中内容时键入,是否将键入内容进行环绕。只能根据语言所定义,没办法自定定义符号是比较可惜的。
+ "editor.autoSurround": "languageDefined",
+
+ // jsDom 属于 word, 关闭后将无法提示 jsDom
+ "editor.suggest.showWords": false,
+ // 预览 suggest
+ "editor.suggest.preview": true,
+ // 插入 suggest 时,将直接替代光标后的内容。
+ "editor.suggest.insertMode": "replace",
+
+ // 按 `Tab` 键时插入空格。该设置在 `editor.detectIndentation` 启用时根据文件内容可能会被覆盖。
+ "editor.insertSpaces": true,
+ // 一个制表符等于的空格数。在 `editor.detectIndentation` 启用时,根据文件内容,该设置可能会被覆盖。
+ "editor.tabSize": 4,
+ // 控制是否在打开文件时,基于文件内容自动检测 `editor.tabSize#` 和 `#editor.insertSpaces`。
+ "editor.detectIndentation": true,
+ // 点击 ; 或者 . 时,不自动补全代码建议。
+ "editor.acceptSuggestionOnCommitCharacter": false,
+ // 粘贴时自动格式化粘贴的内容。要求该文件有配置默认格式化程序,并且该程序支持对某一片段进行格式化。
+ "editor.formatOnPaste": true,
+ // 不支持多行操作,不如 rename tag 插件
+ "editor.linkedEditing": true,
+ // "editor.foldingStrategy": "indentation", // 不建议,函数将变得无法折叠。
+ // 滚动时, 将嵌套的当前范围在顶部粘滞显示. 比如滚动时, 当前所在函数的首行会一直显示在顶部, 如果该函数是嵌套在另外一个函数内的, 则这两个函数都会显示在顶部. 当嵌套的太多, 顶部也会被占用太多行, 此时可以使用 editor.stickyScroll.maxLineCount 指定最大行数.
+ "editor.stickyScroll.enabled": false,
+ // 对于非 ASCII 字符如何显示高亮。 默认是当非 ASCII 符号与 ASCII 符号相连时给出高亮提示。
+ "editor.unicodeHighlight.nonBasicASCII": "inUntrustedWorkspace" /* 默认 */,
+ // 字体大小
+ "editor.fontSize": 18,
+ // 字体行高
+ "editor.lineHeight": 32,
+ // 字体
+ "editor.fontFamily": "Hack, 微软雅黑",
+ // 缩略图是否显示
+ "editor.minimap.enabled": false,
+ // 未选中内容时剪切,将不会剪切当前行
+ "editor.emptySelectionClipboard": false,
+ // 控制在编辑器中是否允许通过拖放来移动选中内容。
+ "editor.dragAndDrop": false,
+ // 始终显示折叠按钮
+ "editor.showFoldingControls": "always",
+ // 关闭无障碍(屏幕阅读器)功能。 在 Window 上使用 “讲述者” 时, vscode 默认为其服务。
+ "editor.accessibilitySupport": "off",
+ // 指定文本分隔符!非常有用:)
+ "editor.wordSeparators": "`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?(),。?!;:、",
+ // 控制如何渲染空格字符
+ "editor.renderWhitespace": "boundary",
+ // 将空格缩进模拟为制表符缩进。在删除和移动时非常方便。
+ "editor.stickyTabStops": true,
+
+ // 文件的创建、重命名、删除操作的超时时间,。单位毫秒
+ // 通常来将,操作时间是很快就可以结束的,超过一定时间则说明文件被锁住了,
+ "files.participants.timeout": 1000,
+ // 不开启自动保存。就算你没保存就关闭了 vscode, vscode 也会自动帮你保存的!
+ "files.autoSave": "off",
+ // 打开文件时自动猜测字符集(编码格式)
+ "files.autoGuessEncoding": true,
+ // 自动重构文件后,是否自动保存 “被重构” 的代码。 如果已经开启不自动保存,则该配置项无用。
+ "files.refactoring.autoSave": false,
+ // 保存时自动添加一行空行, 这个在嵌入式开发中很有用.
+ "files.insertFinalNewline": true,
+ // 保存文件时自动删除行尾空格
+ "files.trimTrailingWhitespace": true,
+ // 删除文件末尾多余空行
+ "files.trimFinalNewlines": true,
+ // 配置文件(夹)对话框的默认路径
+ "files.dialog.defaultPath": "D:\\",
+
+ // 不显示选项卡区域
+ "workbench.editor.showTabs": "none",
+ // 是否在未保存的选项卡上绘制边框
+ "workbench.editor.highlightModifiedTabs": true,
+ // 允许选型卡换行
+ "workbench.editor.wrapTabs": true,
+
+ // 图标主题
+ "workbench.iconTheme": "material-icon-theme",
+
+ // 字体大小
+ "terminal.integrated.fontSize": 16,
+ // 行高
+ "terminal.integrated.lineHeight": 1.5,
+ // 启动时始终隐藏终端
+ "terminal.integrated.hideOnStartup": "always",
+ // 让终端的终止按钮始终在上面。当压缩宽度只能等同 always。
+ "terminal.integrated.tabs.showActions": "always",
+ // 终端滚动动画, 有时候会导致卡顿, 所以还是不开启
+ "terminal.integrated.smoothScrolling": false,
+ // 更改默认终端为 bash. 这个配置项一般和 `terminal.integrated.profiles.windows` 搭配使用, 具体请见 `terminal.integrated.profiles.windows` 部分的说明. 注意: 目前(2022-09-12), 该项生效需要 "terminal.integrated.shell.windows": null, 和 "terminal.integrated.shellArgs.windows": []
+ "terminal.integrated.defaultProfile.windows": "Git Bash",
+
+ // 关闭 "输出" 的 "智能滚动", 这样 "自动滚动" 就不会自己切换了
+ "output.smartScroll.enabled": false,
+
+ // 只在 debug 时往调试控制台输出时,点击展开才有效果
+ "debug.console.wordWrap": false,
+
+ // 自动拉取云端数据
+ "git.autofetch": true,
+ // 设定 autofetch 的周期
+ "git.autofetchPeriod": 180,
+ // 同步(如 push) git 仓库时无需确认
+ "git.confirmSync": false,
+ // 当上级文件夹中存在 git 仓库时,无需提示。
+ "git.openRepositoryInParentFolders": "never",
+ // 智能提交。当没有暂存内容时,自动将未暂存内容添加进暂存区
+ "git.enableSmartCommit": true,
+
+ // 隐藏未变更区域
+ "diffEditor.hideUnchangedRegions.enabled": true,
+
+ // 在新窗口打开新项目
+ "window.openFoldersInNewWindow": "on",
+ // 在新窗口打开新项目时最大化窗口
+ "window.newWindowDimensions": "maximized",
+
+ // 打开扩展时,不显示推荐扩展通知
+ "extensions.ignoreRecommendations": true,
+
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////// 特定语言类型的文件配置
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+
+ // 默认的格式化程序是 clang-format, 这种格式化方式需要书写格式化配置文件. vscode 设置中可设置的格式化程序是 vcFormat
+ "C_Cpp.formatting": "vcFormat",
+ "C_Cpp.vcFormat.newLine.beforeElse": false,
+ // 这个能够解决 "未定义标识符", 但实际上存在该标识符的问题, 但又会导致一些 .h 文件找不到, 而且 "找不到" 并不会报错, 只是警告。
+ "C_Cpp.intelliSenseEngineFallback": "disabled",
+ "C_Cpp.intelliSenseEngine": "Tag Parser",
+
+ // 在 markdown 中粘贴链接文本时自动格式化为文本链接格式
+ "markdown.editor.pasteUrlAsFormattedLink.enabled": "always",
+
+ // 鼠标 hover 在 notebook 的 cell 上时直接显示工具类,不需要聚焦到 cell 上
+ "notebook.cellToolbarVisibility": "hover",
+
+ // 规定属性的换行长度
+ "html.format.wrapLineLength": 120,
+ /*
+ - preserve 只有在属性长度超过规定长度时才会换行对齐。 对齐的参考对象是元素
+ - preserve-aligned 只有在属性长度超过规定长度时才会换行对齐。 对齐的参考对象是第一个属性
+ - force 除第一个属性外,其他属性全部单独一行,并对齐。 对齐的参考对象是元素
+ - force-aligned 除第一个属性外,其他属性全部单独一行,并对齐。 对齐的参考对象是第一个属性
+ - force-expand-multiline 每个属性单独成行!此时的对齐的参考对象只会是元素
+ - auto 当属性合并成一行不会超出规定长度时,自动合成一行。 当合成一行后超出规定长度时,只对超出部分进行换行对其。对齐的参考对象是元素
+ - aligned-multiple 当属性合并成一行不会超出规定长度时,自动合成一行。 当合成一行后超出规定长度时,只对超出部分进行换行对其。对齐的参考对象是第一个属性
+ */
+ "html.format.wrapAttributes": "preserve-aligned",
+ // 规定属性换行时的缩进量,只有当 html.format.wrapAttributes 属性值不带 aligned 时才有效。
+ "html.format.wrapAttributesIndentSize": 4,
+ // html 格式化时忽略这些标签, 不对其进行格式化
+ "html.format.contentUnformatted": "pre,code,textarea",
+ // html 中的 script 中禁用 JavaScript 验证
+ "html.validate.scripts": false,
+
+ //(vscode原生格式化) 删除不必要的分号
+ "javascript.format.semicolons": "remove",
+ "typescript.format.semicolons": "remove",
+ // 修改文件名时是否重构其他文件中的代码(自动更新导入语句)
+ "javascript.updateImportsOnFileMove.enabled": "prompt",
+ "typescript.updateImportsOnFileMove.enabled": "prompt",
+ // 关闭 js ts 文件的 import 路径建议
+ "javascript.suggest.paths": false,
+ "typescript.suggest.paths": false,
+ // 在 constructor 构造函数之后插入空格,即 constructor () { }
+ "javascript.format.insertSpaceAfterConstructor": true,
+ "typescript.format.insertSpaceAfterConstructor": true,
+ // 在函数名后插入空格,即 function fn () {} 而不是 function fn() {}
+ "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
+ "typescript.format.insertSpaceBeforeFunctionParenthesis": true,
+
+ // notebook 运行时自动格式化
+ "notebook.formatOnCellExecution": true,
+
+ // 格式化 json 的时候保留空行
+ "json.format.keepLines": true,
+
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////// 插件
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+
+ // 时间格式为相对时间
+ "git-graph.date.format": "Relative",
+ // 图形为拓扑结构,详见 https://git-scm.com/docs/git-log#_commit_ordering
+ "git-graph.repository.commits.order": "topo",
+ // 显示头像
+ "git-graph.repository.commits.fetchAvatars": true,
+ // 将非当前所在提交的祖先提交设置为暗色(mute)
+ "git-graph.repository.commits.mute.commitsThatAreNotAncestorsOfHead": true,
+
+ // 指定预览时选用主题
+ "markdown-preview-enhanced.previewTheme": "medium.css",
+
+ // 运行前自动保存文件
+ "code-runner.saveFileBeforeRun": true,
+
+ // 允许 word 混合。如 autofetch
+ "cSpell.allowCompoundWords": true,
+ // 选用英美词典
+ "cSpell.language": "en-GB,en-US",
+
+ // 缩进宽度
+ "prettier.tabWidth": 4,
+ // 省略分号
+ "prettier.semi": false,
+ // 始终使用单引号
+ "prettier.singleQuote": true,
+ // 对于超出 printWidth 的段落,进行换行处理。设置为 never 时,将用于不会有 prose
+ "prettier.proseWrap": "always"
+}
diff --git "a/vscode/setting/\345\244\232\350\241\214\351\205\215\347\275\256\351\241\271.jsonc" "b/vscode/setting/\345\244\232\350\241\214\351\205\215\347\275\256\351\241\271.jsonc"
new file mode 100644
index 0000000..fbb731d
--- /dev/null
+++ "b/vscode/setting/\345\244\232\350\241\214\351\205\215\347\275\256\351\241\271.jsonc"
@@ -0,0 +1,228 @@
+{
+
+ "editor.codeActionsOnSave": {
+ // 并不适用与所有 fixAll,通常是搭配 ts 语言和 ESLint 插件
+ "source.organizeImports": "always",
+ "source.fixAll": "always"
+ },
+
+ // explorer.autoReveal 配置默认是为 true 的, 也就是所有的文件和文件夹, 当打开他们的时候, 所对应的文件和文件夹将会 reveal 和 selected
+ // 在这里 reveal 和 select 的意思是, 对应的文件和文件夹将会自定被聚焦, 举一个例子来说明更加容易理解
+ // 当我们在一个 js 文件中, 点击某个包, 它会立即打开对应的源文件, 这个源文件是在 node_modules 文件夹中的
+ // 并且在以前, 这个文件所对应的位置, 也会在文件栏中显示出来, 并且焦点在文件上, 这就是所谓的 reveal 和 select
+ // 但是新版本1.74之后, 对于在 node_modules 中的文件, 将不会自动 reveal 和 select
+ // 我们能感受到的就是, 当我们跳转到 node_modules 中的文件时, node_modules 就不会展开它那巨大的文件夹!
+ // 而在以前, 每当我们打开 node_modules 的文件时, 文件栏的 node_modules 都会展开它那巨长的子文件
+ // 这导致我们每次都要去把它折叠起来, 之前我的应对措施时直接隐藏掉 node_modules。
+ // 附上这个方案被提出的 issue: https://github.com/microsoft/vscode/issues/87956
+ // 新版本解决的说明: https://code.visualstudio.com/updates/v1_74#_custom-explorer-autoreveal-logic
+ "explorer.autoRevealExclude": {
+ "**/node_modules": true
+ },
+
+ // 将某些文件折叠起来
+ "explorer.fileNesting.patterns": {
+ ".prettierrc": ".prettierignore",
+ "*.mjs": "${capture}.mjs.map, ${capture}.min.mjs",
+ "*.cjs": "${capture}.cjs.map, ${capture}.min.cjs",
+ "*.scss": "${capture}.css.map, ${capture}.css, ${capture}.min.css",
+ "*.sass": "${capture}.css.map, ${capture}.css, ${capture}.min.css"
+ },
+
+ // 一些特殊字符,比如全角字符与半角字符在一起时,vscode 会进行高亮。如果不想某些字符高亮,则可以将其添加到这里面
+ "editor.unicodeHighlight.allowedCharacters": {
+ "(": true,
+ ")": true,
+ ",": true
+ },
+
+ "files.exclude": {
+ // 在这里, true 的优先级比 false 的优先级高, 并不会根据精准度进行匹配
+ "**/.git": true,
+ "**/.vscode": true,
+ // 只显示 s 和 m 开头的两个文件夹, 其他的都隐藏
+ "[^src|markdown]*": true
+ },
+
+ /*
+ 配置语言的文件关联, 比如将 vue 与 html 关联, 这样在 vue 中可以选择 html 的格式化工具
+ 但是这样会带来一个问题, 当在 vue 中使用 ts 语法时, vscode 却会提示 ts 语法仅允许在 ts 文件中使用
+ 此时如果注销 "*.vue": "html" 就没事.
+ 或者关闭 html 的脚本验证 "html.validate.scripts": false
+ */
+ "files.associations": {
+ "*.vue": "html",
+ ".eslintrc.cjs": "javascript"
+ },
+
+ // 覆盖当前所选颜色主题的颜色。
+ "workbench.colorCustomizations": {
+ // 搜索时,当前选中的匹配项的边框颜色
+ "editor.findMatchBorder": "#FFFFFF",
+ // 搜索时,当前选中的匹配项的背景颜色
+ "editor.findMatchBackground": "#ffffff11",
+
+ // 匹配时(高亮),与当前所选项内容相同的匹配项的边框颜色,
+ "editor.selectionHighlightBorder": "#ff0000",
+ // 匹配时(高亮),与当前所选项内容相同的匹配项的背景颜色,
+ "editor.selectionHighlightBackground": "#ff000099",
+
+ // 鼠标选择时,当前所选中的内容的背景颜色。
+ "editor.selectionBackground": "#ff00ff99"
+ },
+
+ // 指定打开文件的方式
+ "workbench.editorAssociations": {
+ // 使用 Excel Viewer 扩展工具打开 csv 文件
+ "*.csv": "gc-excelviewer-csv-editor"
+ },
+
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////// 特定文件类型
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+
+ // 一些通用配置项,可以组合起来
+ "[html][javascript][typescript][json][jsonc][vue][typescriptreact][javascriptreact][scss][less][css]": {
+ "editor.formatOnSave": true,
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
+ },
+ "[scss][css][markdown][javascript][typescript][json][jsonc][vue][typescriptreact][javascriptreact][sql]": {
+ "editor.tabSize": 4,
+ "editor.detectIndentation": false
+ },
+
+ "[vue]": {
+ // 保存时执行的行为
+ "editor.codeActionsOnSave": {
+ // 保存时, 自动执行 eslint 插件的 "修复全部" 功能, ~~但如何找到 "source.fixAll.eslint" 不清楚~~ 这可能是 eslint 插件提供的功能。
+ "source.fixAll.eslint": true,
+ "source.fixAll.stylelint": true
+ }
+ },
+ // 添加这个仅仅是移动旧笔记。具体配置什么作用,以前又为什么要这么设置还不清楚。所以先留着,后面有时间再整理。
+ "[c]": {
+ "editor.wordBasedSuggestions": false,
+ "editor.suggest.insertMode": "replace",
+ "editor.semanticHighlighting.enabled": true
+ },
+
+ "[markdown]": {
+ // 当配置了 snippets 后,会发现 markdown 文件中不会自动显示 suggest。这就是因为下面这个配置
+ "editor.quickSuggestions": {
+ // 配置在哪些上下文中快速显示 suggest, 该配置项需要 "editor.suggestOnTriggerCharacters": true
+ "comments": "off", // 在注释上下文中不开启快速建议。
+ "strings": "off", // 在字符串上下文中不开启快速建议
+ "other": "on" // 我们大多数情况下需要的是这个。
+ }
+ },
+
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////// 插件
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////
+
+ "cSpell.flagWords": [
+ // 自定义一些错误的单词,并提供正确的单词
+ "destory->destroy"
+ ],
+
+ "markdownlint.config": {
+ "MD007": false
+ },
+
+ // * ******************** emeraldwalk.runonsave ******************** * \\
+ "emeraldwalk.runonsave": {
+ /*
+ ${workspaceFolder}: the path of the workspace folder of the saved file
+ vscode 中的当前打开的文件夹路径
+ ${file}: path of saved file
+ 触发该插件的文件的完整路径,包括后缀名
+ ${fileBasename}: saved file's basename
+ 触发该插件的文件名,包含后缀名
+ ${fileBasenameNoExt}: saved file's basename without extension
+ 触发该插件的文件名,不包含后缀名
+ ${fileDirname}: directory name of saved file
+ 触发该插件的文件所在目录
+ ${fileExtname}: extension (including .) of saved file
+ 触发该插件的文件后缀名
+ ${relativeFile} - the current opened file relative to ${workspaceFolder}
+ 触发该插件的文件相对于 ${workspaceFolder} 的(相对)路径
+ ${cwd}: current working directory (this is the working directory that vscode is running in not the project directory)
+ vscode 的运行目录,即 `code.exe` 所在目录
+
+ ${env.Name}
+ 环境变量值
+ */
+
+ "shell": "C:\\Program Files\\PowerShell\\7\\pwsh.exe",
+ "autoClearConsole": true,
+ "commands": [
+ {
+ // 输出内容是在 OUTPUT 的子窗口 —— RUN ON SAVE。下面这个是个输出案例,同时可以查看所以得占位符的值。
+ "match": ".*",
+ "cmd": "echo \" \nworkspaceRoot: \t\t ${workspaceRoot} \nworkspaceFolder: \t ${workspaceFolder} \nfile: \t\t\t\t ${file} \nfileBasename: \t\t ${fileBasename} \nfileDirname: \t\t ${fileDirname} \nfileExtname: \t\t ${fileExtname} \nfileBasenameNoExt: \t ${fileBasenameNoExt} \nrelativeFile: \t\t ${relativeFile} \ncwd: \t\t\t\t ${cwd}\""
+ },
+ {
+ "match": "\\.scss$",
+
+ // 常规使用
+ "cmd": "sass \"${file}\" \"${fileDirname}\\${fileBasenameNoExt}.css\""
+
+ // 不输出映射文件
+ // "cmd": "sass \"${file}\" \"${fileDirname}\\${fileBasenameNoExt}.css\" --no-source-map "
+
+ // 输出到 css 文件夹
+ // "cmd": "md \"${workspaceFolder}\\css\" -force && sass \"${file}\" \"${workspaceFolder}\\css\\${fileBasenameNoExt}.css\""
+ }
+ ]
+ },
+
+ // * ****************** formulahendry.code-runner ****************** * \\
+ /*
+ 缺陷:
+ 某些变量有引号,拼接起来很麻烦
+ 不支持指定运行 shell。(可以通过 code-runner.runInTerminal: true 解决)
+
+ $workspaceRoot: The path of the folder opened in VS Code
+ 当前 vscode 打开的文件夹目录,如 d:\CodeProject
+ $dir: The directory of the code file being run
+ 有引号!触发该插件的文件所在目录,如 "d:\CodeProject\python\"
+ $dirWithoutTrailingSlash: The directory of the code file being run without a trailing slash
+ 有引号!在 $dir 上减去尾随 \,如 "d:\CodeProject\python"
+ $fullFileName: The full name of the code file being run
+ 有引号!触发该插件的文件的绝对路径(完整路径),如 "d:\CodeProject\python\Student.py"
+ $fileName: The base name of the code file being run, that is the file without the directory
+ 触发该插件的文件的文件名,如 Student.py
+ $fileNameWithoutExt: The base name of the code file being run without its extension
+ 在 $fileName 上减去文件后缀名,如 Student
+ $driveLetter: The drive letter of the code file being run (Windows only)
+ 被运行文件所在盘符,如 d:
+ $pythonPath: The path of Python interpreter (set by Python: Select Interpreter command)
+ 如 Python
+ */
+
+ // Set the executor of each language. 设置各个语言运行代码(运行器)。
+ "code-runner.executorMap": {
+ // 该配置中的 key 值是 editorLangId,各个语言的 editorLangId 值可以通过 'ctrl+k m' 查看
+
+ // 在 output 终端默认编码格式是 GBK,暂时没有找到更改 output 终端默认编码格式的方案(除非系统级别上设置为 UTF-8 编码)
+ "python": "set PYTHONIOENCODING=utf8 && python -u",
+
+ // vscode-ts2js 不存在会自动创建。
+ "typescript": "cd $dir && tsc $fileName --outFile C:/Users/Public/vscode-ts2js/$fileNameWithoutExt.js && node C:/Users/Public/vscode-ts2js/$fileNameWithoutExt.js",
+
+ // gcc 默认输出的 a.exe 文件名。 通过 -o name 可以指定输出的文件名为 name.exe
+ "c": "cd $dir && gcc $fileName -o C:/Users/Public/vscode-c-exe/$fileNameWithoutExt && C:/Users/Public/vscode-c-exe/$fileNameWithoutExt"
+ }
+}
diff --git "a/vscode/setting/\346\227\247\346\227\266\344\273\243\344\272\247\347\211\251/\344\273\243\347\240\201\351\253\230\344\272\256 OneDark/OneDark-Pro-darker.jsonc" "b/vscode/setting/\346\227\247\346\227\266\344\273\243\344\272\247\347\211\251/\344\273\243\347\240\201\351\253\230\344\272\256 OneDark/OneDark-Pro-darker.jsonc"
new file mode 100644
index 0000000..883a1b5
--- /dev/null
+++ "b/vscode/setting/\346\227\247\346\227\266\344\273\243\344\272\247\347\211\251/\344\273\243\347\240\201\351\253\230\344\272\256 OneDark/OneDark-Pro-darker.jsonc"
@@ -0,0 +1,2038 @@
+// 来源: https://github.com/Binaryify/OneDark-Pro/blob/master/themes/OneDark-Pro-darker.json
+
+{
+ "editor.tokenColorCustomizations": {
+ "textMateRules": [
+ {
+ "scope": "meta.embedded",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "unison punctuation",
+ "scope": "punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "haskell variable generic-type",
+ "scope": "variable.other.generic-type.haskell",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "haskell storage type",
+ "scope": "storage.type.haskell",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "support.variable.magic.python",
+ "scope": "support.variable.magic.python",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "punctuation.separator.parameters.python",
+ "scope": "punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "variable.parameter.function.language.special.self.python",
+ "scope": "variable.parameter.function.language.special.self.python",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "variable.parameter.function.language.special.cls.python",
+ "scope": "variable.parameter.function.language.special.cls.python",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "storage.modifier.lifetime.rust",
+ "scope": "storage.modifier.lifetime.rust",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "support.function.std.rust",
+ "scope": "support.function.std.rust",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "entity.name.lifetime.rust",
+ "scope": "entity.name.lifetime.rust",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "variable.language.rust",
+ "scope": "variable.language.rust",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "support.constant.edge",
+ "scope": "support.constant.edge",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "regexp constant character-class",
+ "scope": "constant.other.character-class.regexp",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "keyword.operator",
+ "scope": [
+ "keyword.operator.word"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "regexp operator.quantifier",
+ "scope": "keyword.operator.quantifier.regexp",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Text",
+ "scope": "variable.parameter.function",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Comment Markup Link",
+ "scope": "comment markup.link",
+ "settings": {
+ "foreground": "#5c6370"
+ }
+ },
+ {
+ "name": "markup diff",
+ "scope": "markup.changed.diff",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "diff",
+ "scope": "meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "inserted.diff",
+ "scope": "markup.inserted.diff",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "deleted.diff",
+ "scope": "markup.deleted.diff",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "c++ function",
+ "scope": "meta.function.c,meta.function.cpp",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "c++ block",
+ "scope": "punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "js/ts punctuation separator key-value",
+ "scope": "punctuation.separator.key-value",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "js/ts import keyword",
+ "scope": "keyword.operator.expression.import",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "math js/ts",
+ "scope": "support.constant.math",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "math property js/ts",
+ "scope": "support.constant.property.math",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "js/ts variable.other.constant",
+ "scope": "variable.other.constant",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "java type",
+ "scope": [
+ "storage.type.annotation.java",
+ "storage.type.object.array.java"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "java source",
+ "scope": "source.java",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "java modifier.import",
+ "scope": "punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "java modifier.import",
+ "scope": "meta.method.java",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "java modifier.import",
+ "scope": "storage.modifier.import.java,storage.type.java,storage.type.generic.java",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "java instanceof",
+ "scope": "keyword.operator.instanceof.java",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "java variable.name",
+ "scope": "meta.definition.variable.name.java",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "operator logical",
+ "scope": "keyword.operator.logical",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "operator bitwise",
+ "scope": "keyword.operator.bitwise",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "operator channel",
+ "scope": "keyword.operator.channel",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "support.constant.property-value.scss",
+ "scope": "support.constant.property-value.scss,support.constant.property-value.css",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "CSS/SCSS/LESS Operators",
+ "scope": "keyword.operator.css,keyword.operator.scss,keyword.operator.less",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "css color standard name",
+ "scope": "support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "css comma",
+ "scope": "punctuation.separator.list.comma.css",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "css attribute-name.id",
+ "scope": "support.constant.color.w3c-standard-color-name.css",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "css property-name",
+ "scope": "support.type.vendored.property-name.css",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "js/ts module",
+ "scope": "support.module.node,support.type.object.module,support.module.node",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "entity.name.type.module",
+ "scope": "entity.name.type.module",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "js variable readwrite",
+ "scope": "variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "js/ts json",
+ "scope": "support.constant.json",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "js/ts Keyword",
+ "scope": [
+ "keyword.operator.expression.instanceof",
+ "keyword.operator.new",
+ "keyword.operator.ternary",
+ "keyword.operator.optional",
+ "keyword.operator.expression.keyof"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "js/ts console",
+ "scope": "support.type.object.console",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "js/ts support.variable.property.process",
+ "scope": "support.variable.property.process",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "js console function",
+ "scope": "entity.name.function,support.function.console",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "keyword.operator.misc.rust",
+ "scope": "keyword.operator.misc.rust",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "keyword.operator.sigil.rust",
+ "scope": "keyword.operator.sigil.rust",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "operator",
+ "scope": "keyword.operator.delete",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "js dom",
+ "scope": "support.type.object.dom",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "js dom variable",
+ "scope": "support.variable.dom,support.variable.property.dom",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "keyword.operator",
+ "scope": "keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "C operator assignment",
+ "scope": "keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Punctuation",
+ "scope": "punctuation.separator.delimiter",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Other punctuation .c",
+ "scope": "punctuation.separator.c,punctuation.separator.cpp",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "C type posix-reserved",
+ "scope": "support.type.posix-reserved.c,support.type.posix-reserved.cpp",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "keyword.operator.sizeof.c",
+ "scope": "keyword.operator.sizeof.c,keyword.operator.sizeof.cpp",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "python parameter",
+ "scope": "variable.parameter.function.language.python",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "python type",
+ "scope": "support.type.python",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "python logical",
+ "scope": "keyword.operator.logical.python",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "pyCs",
+ "scope": "variable.parameter.function.python",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "python block",
+ "scope": "punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "python function-call.generic",
+ "scope": "meta.function-call.generic.python",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "python placeholder reset to normal string",
+ "scope": "constant.character.format.placeholder.other.python",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Operators",
+ "scope": "keyword.operator",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Compound Assignment Operators",
+ "scope": "keyword.operator.assignment.compound",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Compound Assignment Operators js/ts",
+ "scope": "keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Keywords",
+ "scope": "keyword",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Namespaces",
+ "scope": "entity.name.namespace",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Variables",
+ "scope": "variable",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Variables",
+ "scope": "variable.c",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Language variables",
+ "scope": "variable.language",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Java Variables",
+ "scope": "token.variable.parameter.java",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Java Imports",
+ "scope": "import.storage.java",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Packages",
+ "scope": "token.package.keyword",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Packages",
+ "scope": "token.package",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Functions",
+ "scope": [
+ "entity.name.function",
+ "meta.require",
+ "support.function.any-method",
+ "variable.function"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Classes",
+ "scope": "entity.name.type.namespace",
+ "settings": {
+ "foreground": "#e5c07b",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "name": "Classes",
+ "scope": "support.class, entity.name.type.class",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Class name",
+ "scope": "entity.name.class.identifier.namespace.type",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Class name",
+ "scope": [
+ "entity.name.class",
+ "variable.other.class.js",
+ "variable.other.class.ts"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Class name php",
+ "scope": "variable.other.class.php",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Type Name",
+ "scope": "entity.name.type",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Keyword Control",
+ "scope": "keyword.control",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Control Elements",
+ "scope": "control.elements, keyword.operator.less",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Methods",
+ "scope": "keyword.other.special-method",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Storage",
+ "scope": "storage",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Storage JS TS",
+ "scope": "token.storage",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Source Js Keyword Operator Delete,source Js Keyword Operator In,source Js Keyword Operator Of,source Js Keyword Operator Instanceof,source Js Keyword Operator New,source Js Keyword Operator Typeof,source Js Keyword Operator Void",
+ "scope": "keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Java Storage",
+ "scope": "token.storage.type.java",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Support",
+ "scope": "support.function",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Support type",
+ "scope": "support.type.property-name",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Support type",
+ "scope": "support.constant.property-value",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Support type",
+ "scope": "support.constant.font-name",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Meta tag",
+ "scope": "meta.tag",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Strings",
+ "scope": "string",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "Constant other symbol",
+ "scope": "constant.other.symbol",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Integers",
+ "scope": "constant.numeric",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Constants",
+ "scope": "constant",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Constants",
+ "scope": "punctuation.definition.constant",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Tags",
+ "scope": "entity.name.tag",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Attributes",
+ "scope": "entity.other.attribute-name",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Attribute IDs",
+ "scope": "entity.other.attribute-name.id",
+ "settings": {
+ "fontStyle": "normal",
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Attribute class",
+ "scope": "entity.other.attribute-name.class.css",
+ "settings": {
+ "fontStyle": "normal",
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Selector",
+ "scope": "meta.selector",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Headings",
+ "scope": "markup.heading",
+ "settings": {
+ "foreground": "#e06c75",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "name": "Headings",
+ "scope": "markup.heading punctuation.definition.heading, entity.name.section",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Units",
+ "scope": "keyword.other.unit",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Bold",
+ "scope": "markup.bold,todo.bold",
+ "settings": {
+ "foreground": "#d19a66",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "name": "Bold",
+ "scope": "punctuation.definition.bold",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "markup Italic",
+ "scope": "markup.italic, punctuation.definition.italic,todo.emphasis",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "emphasis md",
+ "scope": "emphasis md",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown headings",
+ "scope": "entity.name.section.markdown",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown heading Punctuation Definition",
+ "scope": "punctuation.definition.heading.markdown",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "punctuation.definition.list.begin.markdown",
+ "scope": "punctuation.definition.list.begin.markdown",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown heading setext",
+ "scope": "markup.heading.setext",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Punctuation Definition Bold",
+ "scope": "punctuation.definition.bold.markdown",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Inline Raw",
+ "scope": "markup.inline.raw.markdown",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Inline Raw",
+ "scope": "markup.inline.raw.string.markdown",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Inline Raw punctuation",
+ "scope": "punctuation.definition.raw.markdown",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown List Punctuation Definition",
+ "scope": "punctuation.definition.list.markdown",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Punctuation Definition String",
+ "scope": [
+ "punctuation.definition.string.begin.markdown",
+ "punctuation.definition.string.end.markdown",
+ "punctuation.definition.metadata.markdown"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "beginning.punctuation.definition.list.markdown",
+ "scope": [
+ "beginning.punctuation.definition.list.markdown"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Punctuation Definition Link",
+ "scope": "punctuation.definition.metadata.markdown",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Underline Link/Image",
+ "scope": "markup.underline.link.markdown,markup.underline.link.image.markdown",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Link Title/Description",
+ "scope": "string.other.link.title.markdown,string.other.link.description.markdown",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc Inline Raw",
+ "scope": "markup.raw.monospace.asciidoc",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc Inline Raw Punctuation Definition",
+ "scope": "punctuation.definition.asciidoc",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc List Punctuation Definition",
+ "scope": "markup.list.asciidoc",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc underline link",
+ "scope": "markup.link.asciidoc,markup.other.url.asciidoc",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc link name",
+ "scope": "string.unquoted.asciidoc,markup.other.url.asciidoc",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Regular Expressions",
+ "scope": "string.regexp",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Embedded",
+ "scope": "punctuation.section.embedded, variable.interpolation",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Embedded",
+ "scope": "punctuation.section.embedded.begin,punctuation.section.embedded.end",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "illegal",
+ "scope": "invalid.illegal",
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "illegal",
+ "scope": "invalid.illegal.bad-ampersand.html",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "scope": "invalid.illegal.unrecognized-tag.html",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Broken",
+ "scope": "invalid.broken",
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "Deprecated",
+ "scope": "invalid.deprecated",
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "html Deprecated",
+ "scope": "invalid.deprecated.entity.other.attribute-name.html",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Unimplemented",
+ "scope": "invalid.unimplemented",
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "Source Json Meta Structure Dictionary Json > String Quoted Json",
+ "scope": "source.json meta.structure.dictionary.json > string.quoted.json",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Source Json Meta Structure Dictionary Json > String Quoted Json > Punctuation String",
+ "scope": "source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Source Json Meta Structure Dictionary Json > Value Json > String Quoted Json,source Json Meta Structure Array Json > Value Json > String Quoted Json,source Json Meta Structure Dictionary Json > Value Json > String Quoted Json > Punctuation,source Json Meta Structure Array Json > Value Json > String Quoted Json > Punctuation",
+ "scope": "source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "Source Json Meta Structure Dictionary Json > Constant Language Json,source Json Meta Structure Array Json > Constant Language Json",
+ "scope": "source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] JSON Property Name",
+ "scope": "support.type.property-name.json",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] JSON Punctuation for Property Name",
+ "scope": "support.type.property-name.json punctuation",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "laravel blade tag",
+ "scope": "text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "laravel blade @",
+ "scope": "text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "use statement for other classes",
+ "scope": "support.other.namespace.use.php,support.other.namespace.use-as.php,entity.other.alias.php,meta.interface.php",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "error suppression",
+ "scope": "keyword.operator.error-control.php",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "php instanceof",
+ "scope": "keyword.operator.type.php",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "style double quoted array index normal begin",
+ "scope": "punctuation.section.array.begin.php",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "style double quoted array index normal end",
+ "scope": "punctuation.section.array.end.php",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "php illegal.non-null-typehinted",
+ "scope": "invalid.illegal.non-null-typehinted.php",
+ "settings": {
+ "foreground": "#f44747"
+ }
+ },
+ {
+ "name": "php types",
+ "scope": "storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "php call-function",
+ "scope": "meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "php function-resets",
+ "scope": "punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "support php constants",
+ "scope": "support.constant.core.rust",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "support php constants",
+ "scope": "support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "php goto",
+ "scope": "entity.name.goto-label.php,support.other.php",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "php logical/bitwise operator",
+ "scope": "keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "php regexp operator",
+ "scope": "keyword.operator.regexp.php",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "php comparison",
+ "scope": "keyword.operator.comparison.php",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "php heredoc/nowdoc",
+ "scope": "keyword.operator.heredoc.php,keyword.operator.nowdoc.php",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "python function decorator @",
+ "scope": "meta.function.decorator.python",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "python function support",
+ "scope": "support.token.decorator.python,meta.function.decorator.identifier.python",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "parameter function js/ts",
+ "scope": "function.parameter",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "brace function",
+ "scope": "function.brace",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "parameter function ruby cs",
+ "scope": "function.parameter.ruby, function.parameter.cs",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "constant.language.symbol.ruby",
+ "scope": "constant.language.symbol.ruby",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "rgb-value",
+ "scope": "rgb-value",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "rgb value",
+ "scope": "inline-color-decoration rgb-value",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "rgb value less",
+ "scope": "less rgb-value",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "sass selector",
+ "scope": "selector.sass",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "ts primitive/builtin types",
+ "scope": "support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "block scope",
+ "scope": "block.scope.end,block.scope.begin",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "cs storage type",
+ "scope": "storage.type.cs",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "cs local variable",
+ "scope": "entity.name.variable.local.cs",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "scope": "token.info-token",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "scope": "token.warn-token",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "scope": "token.error-token",
+ "settings": {
+ "foreground": "#f44747"
+ }
+ },
+ {
+ "scope": "token.debug-token",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "String interpolation",
+ "scope": [
+ "punctuation.definition.template-expression.begin",
+ "punctuation.definition.template-expression.end",
+ "punctuation.section.embedded"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Reset JavaScript string interpolation expression",
+ "scope": [
+ "meta.template.expression"
+ ],
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Import module JS",
+ "scope": [
+ "keyword.operator.module"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "js Flowtype",
+ "scope": [
+ "support.type.type.flowtype"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "js Flow",
+ "scope": [
+ "support.type.primitive"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "js class prop",
+ "scope": [
+ "meta.property.object"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "js func parameter",
+ "scope": [
+ "variable.parameter.function.js"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "js template literals begin",
+ "scope": [
+ "keyword.other.template.begin"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "js template literals end",
+ "scope": [
+ "keyword.other.template.end"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "js template literals variable braces begin",
+ "scope": [
+ "keyword.other.substitution.begin"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "js template literals variable braces end",
+ "scope": [
+ "keyword.other.substitution.end"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "js operator.assignment",
+ "scope": [
+ "keyword.operator.assignment"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "go operator",
+ "scope": [
+ "keyword.operator.assignment.go"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "go operator",
+ "scope": [
+ "keyword.operator.arithmetic.go",
+ "keyword.operator.address.go"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Go package name",
+ "scope": [
+ "entity.name.package.go"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "elm prelude",
+ "scope": [
+ "support.type.prelude.elm"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "elm constant",
+ "scope": [
+ "support.constant.elm"
+ ],
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "template literal",
+ "scope": [
+ "punctuation.quasi.element"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "html/pug (jade) escaped characters and entities",
+ "scope": [
+ "constant.character.entity"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "styling css pseudo-elements/classes to be able to differentiate from classes which are the same colour",
+ "scope": [
+ "entity.other.attribute-name.pseudo-element",
+ "entity.other.attribute-name.pseudo-class"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Clojure globals",
+ "scope": [
+ "entity.global.clojure"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Clojure symbols",
+ "scope": [
+ "meta.symbol.clojure"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Clojure constants",
+ "scope": [
+ "constant.keyword.clojure"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "CoffeeScript Function Argument",
+ "scope": [
+ "meta.arguments.coffee",
+ "variable.parameter.function.coffee"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Ini Default Text",
+ "scope": [
+ "source.ini"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "Makefile prerequisities",
+ "scope": [
+ "meta.scope.prerequisites.makefile"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Makefile text colour",
+ "scope": [
+ "source.makefile"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Groovy import names",
+ "scope": [
+ "storage.modifier.import.groovy"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Groovy Methods",
+ "scope": [
+ "meta.method.groovy"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Groovy Variables",
+ "scope": [
+ "meta.definition.variable.name.groovy"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Groovy Inheritance",
+ "scope": [
+ "meta.definition.class.inherited.classes.groovy"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "HLSL Semantic",
+ "scope": [
+ "support.variable.semantic.hlsl"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "HLSL Types",
+ "scope": [
+ "support.type.texture.hlsl",
+ "support.type.sampler.hlsl",
+ "support.type.object.hlsl",
+ "support.type.object.rw.hlsl",
+ "support.type.fx.hlsl",
+ "support.type.object.hlsl"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "SQL Variables",
+ "scope": [
+ "text.variable",
+ "text.bracketed"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "types",
+ "scope": [
+ "support.type.swift",
+ "support.type.vb.asp"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "heading 1, keyword",
+ "scope": [
+ "entity.name.function.xi"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "heading 2, callable",
+ "scope": [
+ "entity.name.class.xi"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "heading 3, property",
+ "scope": [
+ "constant.character.character-class.regexp.xi"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "heading 4, type, class, interface",
+ "scope": [
+ "constant.regexp.xi"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "heading 5, enums, preprocessor, constant, decorator",
+ "scope": [
+ "keyword.control.xi"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "heading 6, number",
+ "scope": [
+ "invalid.xi"
+ ],
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "string",
+ "scope": [
+ "beginning.punctuation.definition.quote.markdown.xi"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "comments",
+ "scope": [
+ "beginning.punctuation.definition.list.markdown.xi"
+ ],
+ "settings": {
+ "foreground": "#7f848e"
+ }
+ },
+ {
+ "name": "link",
+ "scope": [
+ "constant.character.xi"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "accent",
+ "scope": [
+ "accent.xi"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "wikiword",
+ "scope": [
+ "wikiword.xi"
+ ],
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "language operators like '+', '-' etc",
+ "scope": [
+ "constant.other.color.rgb-value.xi"
+ ],
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "elements to dim",
+ "scope": [
+ "punctuation.definition.tag.xi"
+ ],
+ "settings": {
+ "foreground": "#5c6370"
+ }
+ },
+ {
+ "name": "C++/C#",
+ "scope": [
+ "entity.name.label.cs",
+ "entity.name.scope-resolution.function.call",
+ "entity.name.scope-resolution.function.definition"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Markdown underscore-style headers",
+ "scope": [
+ "entity.name.label.cs",
+ "markup.heading.setext.1.markdown",
+ "markup.heading.setext.2.markdown"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "meta.brace.square",
+ "scope": [
+ " meta.brace.square"
+ ],
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Comments",
+ "scope": "comment, punctuation.definition.comment",
+ "settings": {
+ "foreground": "#7f848e"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Quote",
+ "scope": "markup.quote.markdown",
+ "settings": {
+ "foreground": "#5c6370"
+ }
+ },
+ {
+ "name": "punctuation.definition.block.sequence.item.yaml",
+ "scope": "punctuation.definition.block.sequence.item.yaml",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "scope": [
+ "constant.language.symbol.elixir",
+ "constant.language.symbol.double-quoted.elixir"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "scope": [
+ "entity.name.variable.parameter.cs"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "scope": [
+ "entity.name.variable.field.cs"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Deleted",
+ "scope": "markup.deleted",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Inserted",
+ "scope": "markup.inserted",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "Underline",
+ "scope": "markup.underline",
+ "settings": {
+ "fontStyle": "underline"
+ }
+ },
+ {
+ "name": "punctuation.section.embedded.begin.php",
+ "scope": [
+ "punctuation.section.embedded.begin.php",
+ "punctuation.section.embedded.end.php"
+ ],
+ "settings": {
+ "foreground": "#BE5046"
+ }
+ },
+ {
+ "name": "support.other.namespace.php",
+ "scope": [
+ "support.other.namespace.php"
+ ],
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "variable.other.object",
+ "scope": [
+ "variable.other.object"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "variable.other.constant.property",
+ "scope": [
+ "variable.other.constant.property"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "entity.other.inherited-class",
+ "scope": [
+ "entity.other.inherited-class"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "c variable readwrite",
+ "scope": "variable.other.readwrite.c",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "php scope",
+ "scope": "entity.name.variable.parameter.php,punctuation.separator.colon.php,constant.other.php",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Assembly",
+ "scope": [
+ "constant.numeric.decimal.asm.x86_64"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "scope": [
+ "support.other.parenthesis.regexp"
+ ],
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "scope": [
+ "constant.character.escape"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "scope": [
+ "string.regexp"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Markup: Strong",
+ "scope": "markup.bold",
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "name": "Sections",
+ "scope": "entity.name.section",
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "name": "CSS: Important Keyword",
+ "scope": "keyword.other.important",
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "name": "Functions",
+ "scope": [
+ "entity.name.function",
+ "meta.require",
+ "support.function.any-method",
+ "variable.function"
+ ],
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "name": "markup.bold.markdown",
+ "scope": "markup.bold.markdown",
+ "settings": {
+ "fontStyle": "bold"
+ }
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git "a/vscode/setting/\346\227\247\346\227\266\344\273\243\344\272\247\347\211\251/\344\273\243\347\240\201\351\253\230\344\272\256 OneDark/OneDark-Pro-flat.jsonc" "b/vscode/setting/\346\227\247\346\227\266\344\273\243\344\272\247\347\211\251/\344\273\243\347\240\201\351\253\230\344\272\256 OneDark/OneDark-Pro-flat.jsonc"
new file mode 100644
index 0000000..d1710eb
--- /dev/null
+++ "b/vscode/setting/\346\227\247\346\227\266\344\273\243\344\272\247\347\211\251/\344\273\243\347\240\201\351\253\230\344\272\256 OneDark/OneDark-Pro-flat.jsonc"
@@ -0,0 +1,1995 @@
+// 来源: https://github.com/Binaryify/OneDark-Pro/blob/master/themes/OneDark-Pro-flat.json
+
+{
+ "editor.tokenColorCustomizations": {
+ "textMateRules": [
+ {
+ "scope": "meta.embedded",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "unison punctuation",
+ "scope": "punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "haskell variable generic-type",
+ "scope": "variable.other.generic-type.haskell",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "haskell storage type",
+ "scope": "storage.type.haskell",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "support.variable.magic.python",
+ "scope": "support.variable.magic.python",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "punctuation.separator.parameters.python",
+ "scope": "punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "variable.parameter.function.language.special.self.python",
+ "scope": "variable.parameter.function.language.special.self.python",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "variable.parameter.function.language.special.cls.python",
+ "scope": "variable.parameter.function.language.special.cls.python",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "storage.modifier.lifetime.rust",
+ "scope": "storage.modifier.lifetime.rust",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "support.function.std.rust",
+ "scope": "support.function.std.rust",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "entity.name.lifetime.rust",
+ "scope": "entity.name.lifetime.rust",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "variable.language.rust",
+ "scope": "variable.language.rust",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "support.constant.edge",
+ "scope": "support.constant.edge",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "regexp constant character-class",
+ "scope": "constant.other.character-class.regexp",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "keyword.operator",
+ "scope": [
+ "keyword.operator.word"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "regexp operator.quantifier",
+ "scope": "keyword.operator.quantifier.regexp",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Text",
+ "scope": "variable.parameter.function",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Comment Markup Link",
+ "scope": "comment markup.link",
+ "settings": {
+ "foreground": "#5c6370"
+ }
+ },
+ {
+ "name": "markup diff",
+ "scope": "markup.changed.diff",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "diff",
+ "scope": "meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "inserted.diff",
+ "scope": "markup.inserted.diff",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "deleted.diff",
+ "scope": "markup.deleted.diff",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "c++ function",
+ "scope": "meta.function.c,meta.function.cpp",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "c++ block",
+ "scope": "punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "js/ts punctuation separator key-value",
+ "scope": "punctuation.separator.key-value",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "js/ts import keyword",
+ "scope": "keyword.operator.expression.import",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "math js/ts",
+ "scope": "support.constant.math",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "math property js/ts",
+ "scope": "support.constant.property.math",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "js/ts variable.other.constant",
+ "scope": "variable.other.constant",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "java type",
+ "scope": [
+ "storage.type.annotation.java",
+ "storage.type.object.array.java"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "java source",
+ "scope": "source.java",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "java modifier.import",
+ "scope": "punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "java modifier.import",
+ "scope": "meta.method.java",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "java modifier.import",
+ "scope": "storage.modifier.import.java,storage.type.java,storage.type.generic.java",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "java instanceof",
+ "scope": "keyword.operator.instanceof.java",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "java variable.name",
+ "scope": "meta.definition.variable.name.java",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "operator logical",
+ "scope": "keyword.operator.logical",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "operator bitwise",
+ "scope": "keyword.operator.bitwise",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "operator channel",
+ "scope": "keyword.operator.channel",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "support.constant.property-value.scss",
+ "scope": "support.constant.property-value.scss,support.constant.property-value.css",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "CSS/SCSS/LESS Operators",
+ "scope": "keyword.operator.css,keyword.operator.scss,keyword.operator.less",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "css color standard name",
+ "scope": "support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "css comma",
+ "scope": "punctuation.separator.list.comma.css",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "css attribute-name.id",
+ "scope": "support.constant.color.w3c-standard-color-name.css",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "css property-name",
+ "scope": "support.type.vendored.property-name.css",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "js/ts module",
+ "scope": "support.module.node,support.type.object.module,support.module.node",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "entity.name.type.module",
+ "scope": "entity.name.type.module",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "js variable readwrite",
+ "scope": "variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "js/ts json",
+ "scope": "support.constant.json",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "js/ts Keyword",
+ "scope": [
+ "keyword.operator.expression.instanceof",
+ "keyword.operator.new",
+ "keyword.operator.ternary",
+ "keyword.operator.optional",
+ "keyword.operator.expression.keyof"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "js/ts console",
+ "scope": "support.type.object.console",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "js/ts support.variable.property.process",
+ "scope": "support.variable.property.process",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "js console function",
+ "scope": "entity.name.function,support.function.console",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "keyword.operator.misc.rust",
+ "scope": "keyword.operator.misc.rust",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "keyword.operator.sigil.rust",
+ "scope": "keyword.operator.sigil.rust",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "operator",
+ "scope": "keyword.operator.delete",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "js dom",
+ "scope": "support.type.object.dom",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "js dom variable",
+ "scope": "support.variable.dom,support.variable.property.dom",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "keyword.operator",
+ "scope": "keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "C operator assignment",
+ "scope": "keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Punctuation",
+ "scope": "punctuation.separator.delimiter",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Other punctuation .c",
+ "scope": "punctuation.separator.c,punctuation.separator.cpp",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "C type posix-reserved",
+ "scope": "support.type.posix-reserved.c,support.type.posix-reserved.cpp",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "keyword.operator.sizeof.c",
+ "scope": "keyword.operator.sizeof.c,keyword.operator.sizeof.cpp",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "python parameter",
+ "scope": "variable.parameter.function.language.python",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "python type",
+ "scope": "support.type.python",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "python logical",
+ "scope": "keyword.operator.logical.python",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "pyCs",
+ "scope": "variable.parameter.function.python",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "python block",
+ "scope": "punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "python function-call.generic",
+ "scope": "meta.function-call.generic.python",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "python placeholder reset to normal string",
+ "scope": "constant.character.format.placeholder.other.python",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Operators",
+ "scope": "keyword.operator",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Compound Assignment Operators",
+ "scope": "keyword.operator.assignment.compound",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Compound Assignment Operators js/ts",
+ "scope": "keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Keywords",
+ "scope": "keyword",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Namespaces",
+ "scope": "entity.name.namespace",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Variables",
+ "scope": "variable",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Variables",
+ "scope": "variable.c",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Language variables",
+ "scope": "variable.language",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Java Variables",
+ "scope": "token.variable.parameter.java",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Java Imports",
+ "scope": "import.storage.java",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Packages",
+ "scope": "token.package.keyword",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Packages",
+ "scope": "token.package",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Functions",
+ "scope": [
+ "entity.name.function",
+ "meta.require",
+ "support.function.any-method",
+ "variable.function"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Classes",
+ "scope": "entity.name.type.namespace",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Classes",
+ "scope": "support.class, entity.name.type.class",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Class name",
+ "scope": "entity.name.class.identifier.namespace.type",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Class name",
+ "scope": [
+ "entity.name.class",
+ "variable.other.class.js",
+ "variable.other.class.ts"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Class name php",
+ "scope": "variable.other.class.php",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Type Name",
+ "scope": "entity.name.type",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Keyword Control",
+ "scope": "keyword.control",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Control Elements",
+ "scope": "control.elements, keyword.operator.less",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Methods",
+ "scope": "keyword.other.special-method",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Storage",
+ "scope": "storage",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Storage JS TS",
+ "scope": "token.storage",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Source Js Keyword Operator Delete,source Js Keyword Operator In,source Js Keyword Operator Of,source Js Keyword Operator Instanceof,source Js Keyword Operator New,source Js Keyword Operator Typeof,source Js Keyword Operator Void",
+ "scope": "keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Java Storage",
+ "scope": "token.storage.type.java",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Support",
+ "scope": "support.function",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Support type",
+ "scope": "support.type.property-name",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Support type",
+ "scope": "support.constant.property-value",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Support type",
+ "scope": "support.constant.font-name",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Meta tag",
+ "scope": "meta.tag",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Strings",
+ "scope": "string",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "Constant other symbol",
+ "scope": "constant.other.symbol",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Integers",
+ "scope": "constant.numeric",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Constants",
+ "scope": "constant",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Constants",
+ "scope": "punctuation.definition.constant",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Tags",
+ "scope": "entity.name.tag",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Attributes",
+ "scope": "entity.other.attribute-name",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Attribute IDs",
+ "scope": "entity.other.attribute-name.id",
+ "settings": {
+ "fontStyle": "normal",
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Attribute class",
+ "scope": "entity.other.attribute-name.class.css",
+ "settings": {
+ "fontStyle": "normal",
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Selector",
+ "scope": "meta.selector",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Headings",
+ "scope": "markup.heading",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Headings",
+ "scope": "markup.heading punctuation.definition.heading, entity.name.section",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Units",
+ "scope": "keyword.other.unit",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Bold",
+ "scope": "markup.bold,todo.bold",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Bold",
+ "scope": "punctuation.definition.bold",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "markup Italic",
+ "scope": "markup.italic, punctuation.definition.italic,todo.emphasis",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "emphasis md",
+ "scope": "emphasis md",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown headings",
+ "scope": "entity.name.section.markdown",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown heading Punctuation Definition",
+ "scope": "punctuation.definition.heading.markdown",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "punctuation.definition.list.begin.markdown",
+ "scope": "punctuation.definition.list.begin.markdown",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown heading setext",
+ "scope": "markup.heading.setext",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Punctuation Definition Bold",
+ "scope": "punctuation.definition.bold.markdown",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Inline Raw",
+ "scope": "markup.inline.raw.markdown",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Inline Raw",
+ "scope": "markup.inline.raw.string.markdown",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Inline Raw punctuation",
+ "scope": "punctuation.definition.raw.markdown",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown List Punctuation Definition",
+ "scope": "punctuation.definition.list.markdown",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Punctuation Definition String",
+ "scope": [
+ "punctuation.definition.string.begin.markdown",
+ "punctuation.definition.string.end.markdown",
+ "punctuation.definition.metadata.markdown"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "beginning.punctuation.definition.list.markdown",
+ "scope": [
+ "beginning.punctuation.definition.list.markdown"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Punctuation Definition Link",
+ "scope": "punctuation.definition.metadata.markdown",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Underline Link/Image",
+ "scope": "markup.underline.link.markdown,markup.underline.link.image.markdown",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Link Title/Description",
+ "scope": "string.other.link.title.markdown,string.other.link.description.markdown",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc Inline Raw",
+ "scope": "markup.raw.monospace.asciidoc",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc Inline Raw Punctuation Definition",
+ "scope": "punctuation.definition.asciidoc",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc List Punctuation Definition",
+ "scope": "markup.list.asciidoc",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc underline link",
+ "scope": "markup.link.asciidoc,markup.other.url.asciidoc",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc link name",
+ "scope": "string.unquoted.asciidoc,markup.other.url.asciidoc",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Regular Expressions",
+ "scope": "string.regexp",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Embedded",
+ "scope": "punctuation.section.embedded, variable.interpolation",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Embedded",
+ "scope": "punctuation.section.embedded.begin,punctuation.section.embedded.end",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "illegal",
+ "scope": "invalid.illegal",
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "illegal",
+ "scope": "invalid.illegal.bad-ampersand.html",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "scope": "invalid.illegal.unrecognized-tag.html",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Broken",
+ "scope": "invalid.broken",
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "Deprecated",
+ "scope": "invalid.deprecated",
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "html Deprecated",
+ "scope": "invalid.deprecated.entity.other.attribute-name.html",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Unimplemented",
+ "scope": "invalid.unimplemented",
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "Source Json Meta Structure Dictionary Json > String Quoted Json",
+ "scope": "source.json meta.structure.dictionary.json > string.quoted.json",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Source Json Meta Structure Dictionary Json > String Quoted Json > Punctuation String",
+ "scope": "source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Source Json Meta Structure Dictionary Json > Value Json > String Quoted Json,source Json Meta Structure Array Json > Value Json > String Quoted Json,source Json Meta Structure Dictionary Json > Value Json > String Quoted Json > Punctuation,source Json Meta Structure Array Json > Value Json > String Quoted Json > Punctuation",
+ "scope": "source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "Source Json Meta Structure Dictionary Json > Constant Language Json,source Json Meta Structure Array Json > Constant Language Json",
+ "scope": "source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] JSON Property Name",
+ "scope": "support.type.property-name.json",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] JSON Punctuation for Property Name",
+ "scope": "support.type.property-name.json punctuation",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "laravel blade tag",
+ "scope": "text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "laravel blade @",
+ "scope": "text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "use statement for other classes",
+ "scope": "support.other.namespace.use.php,support.other.namespace.use-as.php,entity.other.alias.php,meta.interface.php",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "error suppression",
+ "scope": "keyword.operator.error-control.php",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "php instanceof",
+ "scope": "keyword.operator.type.php",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "style double quoted array index normal begin",
+ "scope": "punctuation.section.array.begin.php",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "style double quoted array index normal end",
+ "scope": "punctuation.section.array.end.php",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "php illegal.non-null-typehinted",
+ "scope": "invalid.illegal.non-null-typehinted.php",
+ "settings": {
+ "foreground": "#f44747"
+ }
+ },
+ {
+ "name": "php types",
+ "scope": "storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "php call-function",
+ "scope": "meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "php function-resets",
+ "scope": "punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "support php constants",
+ "scope": "support.constant.core.rust",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "support php constants",
+ "scope": "support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "php goto",
+ "scope": "entity.name.goto-label.php,support.other.php",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "php logical/bitwise operator",
+ "scope": "keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "php regexp operator",
+ "scope": "keyword.operator.regexp.php",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "php comparison",
+ "scope": "keyword.operator.comparison.php",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "php heredoc/nowdoc",
+ "scope": "keyword.operator.heredoc.php,keyword.operator.nowdoc.php",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "python function decorator @",
+ "scope": "meta.function.decorator.python",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "python function support",
+ "scope": "support.token.decorator.python,meta.function.decorator.identifier.python",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "parameter function js/ts",
+ "scope": "function.parameter",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "brace function",
+ "scope": "function.brace",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "parameter function ruby cs",
+ "scope": "function.parameter.ruby, function.parameter.cs",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "constant.language.symbol.ruby",
+ "scope": "constant.language.symbol.ruby",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "rgb-value",
+ "scope": "rgb-value",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "rgb value",
+ "scope": "inline-color-decoration rgb-value",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "rgb value less",
+ "scope": "less rgb-value",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "sass selector",
+ "scope": "selector.sass",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "ts primitive/builtin types",
+ "scope": "support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "block scope",
+ "scope": "block.scope.end,block.scope.begin",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "cs storage type",
+ "scope": "storage.type.cs",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "cs local variable",
+ "scope": "entity.name.variable.local.cs",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "scope": "token.info-token",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "scope": "token.warn-token",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "scope": "token.error-token",
+ "settings": {
+ "foreground": "#f44747"
+ }
+ },
+ {
+ "scope": "token.debug-token",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "String interpolation",
+ "scope": [
+ "punctuation.definition.template-expression.begin",
+ "punctuation.definition.template-expression.end",
+ "punctuation.section.embedded"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Reset JavaScript string interpolation expression",
+ "scope": [
+ "meta.template.expression"
+ ],
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Import module JS",
+ "scope": [
+ "keyword.operator.module"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "js Flowtype",
+ "scope": [
+ "support.type.type.flowtype"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "js Flow",
+ "scope": [
+ "support.type.primitive"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "js class prop",
+ "scope": [
+ "meta.property.object"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "js func parameter",
+ "scope": [
+ "variable.parameter.function.js"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "js template literals begin",
+ "scope": [
+ "keyword.other.template.begin"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "js template literals end",
+ "scope": [
+ "keyword.other.template.end"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "js template literals variable braces begin",
+ "scope": [
+ "keyword.other.substitution.begin"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "js template literals variable braces end",
+ "scope": [
+ "keyword.other.substitution.end"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "js operator.assignment",
+ "scope": [
+ "keyword.operator.assignment"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "go operator",
+ "scope": [
+ "keyword.operator.assignment.go"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "go operator",
+ "scope": [
+ "keyword.operator.arithmetic.go",
+ "keyword.operator.address.go"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Go package name",
+ "scope": [
+ "entity.name.package.go"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "elm prelude",
+ "scope": [
+ "support.type.prelude.elm"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "elm constant",
+ "scope": [
+ "support.constant.elm"
+ ],
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "template literal",
+ "scope": [
+ "punctuation.quasi.element"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "html/pug (jade) escaped characters and entities",
+ "scope": [
+ "constant.character.entity"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "styling css pseudo-elements/classes to be able to differentiate from classes which are the same colour",
+ "scope": [
+ "entity.other.attribute-name.pseudo-element",
+ "entity.other.attribute-name.pseudo-class"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Clojure globals",
+ "scope": [
+ "entity.global.clojure"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Clojure symbols",
+ "scope": [
+ "meta.symbol.clojure"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Clojure constants",
+ "scope": [
+ "constant.keyword.clojure"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "CoffeeScript Function Argument",
+ "scope": [
+ "meta.arguments.coffee",
+ "variable.parameter.function.coffee"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Ini Default Text",
+ "scope": [
+ "source.ini"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "Makefile prerequisities",
+ "scope": [
+ "meta.scope.prerequisites.makefile"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Makefile text colour",
+ "scope": [
+ "source.makefile"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Groovy import names",
+ "scope": [
+ "storage.modifier.import.groovy"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Groovy Methods",
+ "scope": [
+ "meta.method.groovy"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Groovy Variables",
+ "scope": [
+ "meta.definition.variable.name.groovy"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Groovy Inheritance",
+ "scope": [
+ "meta.definition.class.inherited.classes.groovy"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "HLSL Semantic",
+ "scope": [
+ "support.variable.semantic.hlsl"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "HLSL Types",
+ "scope": [
+ "support.type.texture.hlsl",
+ "support.type.sampler.hlsl",
+ "support.type.object.hlsl",
+ "support.type.object.rw.hlsl",
+ "support.type.fx.hlsl",
+ "support.type.object.hlsl"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "SQL Variables",
+ "scope": [
+ "text.variable",
+ "text.bracketed"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "types",
+ "scope": [
+ "support.type.swift",
+ "support.type.vb.asp"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "heading 1, keyword",
+ "scope": [
+ "entity.name.function.xi"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "heading 2, callable",
+ "scope": [
+ "entity.name.class.xi"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "heading 3, property",
+ "scope": [
+ "constant.character.character-class.regexp.xi"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "heading 4, type, class, interface",
+ "scope": [
+ "constant.regexp.xi"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "heading 5, enums, preprocessor, constant, decorator",
+ "scope": [
+ "keyword.control.xi"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "heading 6, number",
+ "scope": [
+ "invalid.xi"
+ ],
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "string",
+ "scope": [
+ "beginning.punctuation.definition.quote.markdown.xi"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "comments",
+ "scope": [
+ "beginning.punctuation.definition.list.markdown.xi"
+ ],
+ "settings": {
+ "foreground": "#7f848e"
+ }
+ },
+ {
+ "name": "link",
+ "scope": [
+ "constant.character.xi"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "accent",
+ "scope": [
+ "accent.xi"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "wikiword",
+ "scope": [
+ "wikiword.xi"
+ ],
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "language operators like '+', '-' etc",
+ "scope": [
+ "constant.other.color.rgb-value.xi"
+ ],
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "elements to dim",
+ "scope": [
+ "punctuation.definition.tag.xi"
+ ],
+ "settings": {
+ "foreground": "#5c6370"
+ }
+ },
+ {
+ "name": "C++/C#",
+ "scope": [
+ "entity.name.label.cs",
+ "entity.name.scope-resolution.function.call",
+ "entity.name.scope-resolution.function.definition"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Markdown underscore-style headers",
+ "scope": [
+ "entity.name.label.cs",
+ "markup.heading.setext.1.markdown",
+ "markup.heading.setext.2.markdown"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "meta.brace.square",
+ "scope": [
+ " meta.brace.square"
+ ],
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Comments",
+ "scope": "comment, punctuation.definition.comment",
+ "settings": {
+ "foreground": "#7f848e"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Quote",
+ "scope": "markup.quote.markdown",
+ "settings": {
+ "foreground": "#5c6370"
+ }
+ },
+ {
+ "name": "punctuation.definition.block.sequence.item.yaml",
+ "scope": "punctuation.definition.block.sequence.item.yaml",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "scope": [
+ "constant.language.symbol.elixir",
+ "constant.language.symbol.double-quoted.elixir"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "scope": [
+ "entity.name.variable.parameter.cs"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "scope": [
+ "entity.name.variable.field.cs"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Deleted",
+ "scope": "markup.deleted",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Inserted",
+ "scope": "markup.inserted",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "Underline",
+ "scope": "markup.underline",
+ "settings": {
+ "fontStyle": "underline"
+ }
+ },
+ {
+ "name": "punctuation.section.embedded.begin.php",
+ "scope": [
+ "punctuation.section.embedded.begin.php",
+ "punctuation.section.embedded.end.php"
+ ],
+ "settings": {
+ "foreground": "#BE5046"
+ }
+ },
+ {
+ "name": "support.other.namespace.php",
+ "scope": [
+ "support.other.namespace.php"
+ ],
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "variable.other.object",
+ "scope": [
+ "variable.other.object"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "variable.other.constant.property",
+ "scope": [
+ "variable.other.constant.property"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "entity.other.inherited-class",
+ "scope": [
+ "entity.other.inherited-class"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "c variable readwrite",
+ "scope": "variable.other.readwrite.c",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "php scope",
+ "scope": "entity.name.variable.parameter.php,punctuation.separator.colon.php,constant.other.php",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Assembly",
+ "scope": [
+ "constant.numeric.decimal.asm.x86_64"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "scope": [
+ "support.other.parenthesis.regexp"
+ ],
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "scope": [
+ "constant.character.escape"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "scope": [
+ "string.regexp"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git "a/vscode/setting/\346\227\247\346\227\266\344\273\243\344\272\247\347\211\251/\344\273\243\347\240\201\351\253\230\344\272\256 OneDark/OneDark-Pro-mix.jsonc" "b/vscode/setting/\346\227\247\346\227\266\344\273\243\344\272\247\347\211\251/\344\273\243\347\240\201\351\253\230\344\272\256 OneDark/OneDark-Pro-mix.jsonc"
new file mode 100644
index 0000000..7cdd918
--- /dev/null
+++ "b/vscode/setting/\346\227\247\346\227\266\344\273\243\344\272\247\347\211\251/\344\273\243\347\240\201\351\253\230\344\272\256 OneDark/OneDark-Pro-mix.jsonc"
@@ -0,0 +1,2038 @@
+// 来源: https://github.com/Binaryify/OneDark-Pro/blob/master/themes/OneDark-Pro-mix.json
+
+{
+ "editor.tokenColorCustomizations": {
+ "textMateRules": [
+ {
+ "scope": "meta.embedded",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "unison punctuation",
+ "scope": "punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "haskell variable generic-type",
+ "scope": "variable.other.generic-type.haskell",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "haskell storage type",
+ "scope": "storage.type.haskell",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "support.variable.magic.python",
+ "scope": "support.variable.magic.python",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "punctuation.separator.parameters.python",
+ "scope": "punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "variable.parameter.function.language.special.self.python",
+ "scope": "variable.parameter.function.language.special.self.python",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "variable.parameter.function.language.special.cls.python",
+ "scope": "variable.parameter.function.language.special.cls.python",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "storage.modifier.lifetime.rust",
+ "scope": "storage.modifier.lifetime.rust",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "support.function.std.rust",
+ "scope": "support.function.std.rust",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "entity.name.lifetime.rust",
+ "scope": "entity.name.lifetime.rust",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "variable.language.rust",
+ "scope": "variable.language.rust",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "support.constant.edge",
+ "scope": "support.constant.edge",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "regexp constant character-class",
+ "scope": "constant.other.character-class.regexp",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "keyword.operator",
+ "scope": [
+ "keyword.operator.word"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "regexp operator.quantifier",
+ "scope": "keyword.operator.quantifier.regexp",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Text",
+ "scope": "variable.parameter.function",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Comment Markup Link",
+ "scope": "comment markup.link",
+ "settings": {
+ "foreground": "#5c6370"
+ }
+ },
+ {
+ "name": "markup diff",
+ "scope": "markup.changed.diff",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "diff",
+ "scope": "meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "inserted.diff",
+ "scope": "markup.inserted.diff",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "deleted.diff",
+ "scope": "markup.deleted.diff",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "c++ function",
+ "scope": "meta.function.c,meta.function.cpp",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "c++ block",
+ "scope": "punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "js/ts punctuation separator key-value",
+ "scope": "punctuation.separator.key-value",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "js/ts import keyword",
+ "scope": "keyword.operator.expression.import",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "math js/ts",
+ "scope": "support.constant.math",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "math property js/ts",
+ "scope": "support.constant.property.math",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "js/ts variable.other.constant",
+ "scope": "variable.other.constant",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "java type",
+ "scope": [
+ "storage.type.annotation.java",
+ "storage.type.object.array.java"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "java source",
+ "scope": "source.java",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "java modifier.import",
+ "scope": "punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "java modifier.import",
+ "scope": "meta.method.java",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "java modifier.import",
+ "scope": "storage.modifier.import.java,storage.type.java,storage.type.generic.java",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "java instanceof",
+ "scope": "keyword.operator.instanceof.java",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "java variable.name",
+ "scope": "meta.definition.variable.name.java",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "operator logical",
+ "scope": "keyword.operator.logical",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "operator bitwise",
+ "scope": "keyword.operator.bitwise",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "operator channel",
+ "scope": "keyword.operator.channel",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "support.constant.property-value.scss",
+ "scope": "support.constant.property-value.scss,support.constant.property-value.css",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "CSS/SCSS/LESS Operators",
+ "scope": "keyword.operator.css,keyword.operator.scss,keyword.operator.less",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "css color standard name",
+ "scope": "support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "css comma",
+ "scope": "punctuation.separator.list.comma.css",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "css attribute-name.id",
+ "scope": "support.constant.color.w3c-standard-color-name.css",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "css property-name",
+ "scope": "support.type.vendored.property-name.css",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "js/ts module",
+ "scope": "support.module.node,support.type.object.module,support.module.node",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "entity.name.type.module",
+ "scope": "entity.name.type.module",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "js variable readwrite",
+ "scope": "variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "js/ts json",
+ "scope": "support.constant.json",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "js/ts Keyword",
+ "scope": [
+ "keyword.operator.expression.instanceof",
+ "keyword.operator.new",
+ "keyword.operator.ternary",
+ "keyword.operator.optional",
+ "keyword.operator.expression.keyof"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "js/ts console",
+ "scope": "support.type.object.console",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "js/ts support.variable.property.process",
+ "scope": "support.variable.property.process",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "js console function",
+ "scope": "entity.name.function,support.function.console",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "keyword.operator.misc.rust",
+ "scope": "keyword.operator.misc.rust",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "keyword.operator.sigil.rust",
+ "scope": "keyword.operator.sigil.rust",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "operator",
+ "scope": "keyword.operator.delete",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "js dom",
+ "scope": "support.type.object.dom",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "js dom variable",
+ "scope": "support.variable.dom,support.variable.property.dom",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "keyword.operator",
+ "scope": "keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "C operator assignment",
+ "scope": "keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Punctuation",
+ "scope": "punctuation.separator.delimiter",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Other punctuation .c",
+ "scope": "punctuation.separator.c,punctuation.separator.cpp",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "C type posix-reserved",
+ "scope": "support.type.posix-reserved.c,support.type.posix-reserved.cpp",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "keyword.operator.sizeof.c",
+ "scope": "keyword.operator.sizeof.c,keyword.operator.sizeof.cpp",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "python parameter",
+ "scope": "variable.parameter.function.language.python",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "python type",
+ "scope": "support.type.python",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "python logical",
+ "scope": "keyword.operator.logical.python",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "pyCs",
+ "scope": "variable.parameter.function.python",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "python block",
+ "scope": "punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "python function-call.generic",
+ "scope": "meta.function-call.generic.python",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "python placeholder reset to normal string",
+ "scope": "constant.character.format.placeholder.other.python",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Operators",
+ "scope": "keyword.operator",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Compound Assignment Operators",
+ "scope": "keyword.operator.assignment.compound",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Compound Assignment Operators js/ts",
+ "scope": "keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Keywords",
+ "scope": "keyword",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Namespaces",
+ "scope": "entity.name.namespace",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Variables",
+ "scope": "variable",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Variables",
+ "scope": "variable.c",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Language variables",
+ "scope": "variable.language",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Java Variables",
+ "scope": "token.variable.parameter.java",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Java Imports",
+ "scope": "import.storage.java",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Packages",
+ "scope": "token.package.keyword",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Packages",
+ "scope": "token.package",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Functions",
+ "scope": [
+ "entity.name.function",
+ "meta.require",
+ "support.function.any-method",
+ "variable.function"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Classes",
+ "scope": "entity.name.type.namespace",
+ "settings": {
+ "foreground": "#e5c07b",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "name": "Classes",
+ "scope": "support.class, entity.name.type.class",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Class name",
+ "scope": "entity.name.class.identifier.namespace.type",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Class name",
+ "scope": [
+ "entity.name.class",
+ "variable.other.class.js",
+ "variable.other.class.ts"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Class name php",
+ "scope": "variable.other.class.php",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Type Name",
+ "scope": "entity.name.type",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Keyword Control",
+ "scope": "keyword.control",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Control Elements",
+ "scope": "control.elements, keyword.operator.less",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Methods",
+ "scope": "keyword.other.special-method",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Storage",
+ "scope": "storage",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Storage JS TS",
+ "scope": "token.storage",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Source Js Keyword Operator Delete,source Js Keyword Operator In,source Js Keyword Operator Of,source Js Keyword Operator Instanceof,source Js Keyword Operator New,source Js Keyword Operator Typeof,source Js Keyword Operator Void",
+ "scope": "keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Java Storage",
+ "scope": "token.storage.type.java",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Support",
+ "scope": "support.function",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Support type",
+ "scope": "support.type.property-name",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Support type",
+ "scope": "support.constant.property-value",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Support type",
+ "scope": "support.constant.font-name",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Meta tag",
+ "scope": "meta.tag",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Strings",
+ "scope": "string",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "Constant other symbol",
+ "scope": "constant.other.symbol",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Integers",
+ "scope": "constant.numeric",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Constants",
+ "scope": "constant",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Constants",
+ "scope": "punctuation.definition.constant",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Tags",
+ "scope": "entity.name.tag",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Attributes",
+ "scope": "entity.other.attribute-name",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Attribute IDs",
+ "scope": "entity.other.attribute-name.id",
+ "settings": {
+ "fontStyle": "normal",
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Attribute class",
+ "scope": "entity.other.attribute-name.class.css",
+ "settings": {
+ "fontStyle": "normal",
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Selector",
+ "scope": "meta.selector",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Headings",
+ "scope": "markup.heading",
+ "settings": {
+ "foreground": "#e06c75",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "name": "Headings",
+ "scope": "markup.heading punctuation.definition.heading, entity.name.section",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Units",
+ "scope": "keyword.other.unit",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Bold",
+ "scope": "markup.bold,todo.bold",
+ "settings": {
+ "foreground": "#d19a66",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "name": "Bold",
+ "scope": "punctuation.definition.bold",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "markup Italic",
+ "scope": "markup.italic, punctuation.definition.italic,todo.emphasis",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "emphasis md",
+ "scope": "emphasis md",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown headings",
+ "scope": "entity.name.section.markdown",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown heading Punctuation Definition",
+ "scope": "punctuation.definition.heading.markdown",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "punctuation.definition.list.begin.markdown",
+ "scope": "punctuation.definition.list.begin.markdown",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown heading setext",
+ "scope": "markup.heading.setext",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Punctuation Definition Bold",
+ "scope": "punctuation.definition.bold.markdown",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Inline Raw",
+ "scope": "markup.inline.raw.markdown",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Inline Raw",
+ "scope": "markup.inline.raw.string.markdown",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Inline Raw punctuation",
+ "scope": "punctuation.definition.raw.markdown",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown List Punctuation Definition",
+ "scope": "punctuation.definition.list.markdown",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Punctuation Definition String",
+ "scope": [
+ "punctuation.definition.string.begin.markdown",
+ "punctuation.definition.string.end.markdown",
+ "punctuation.definition.metadata.markdown"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "beginning.punctuation.definition.list.markdown",
+ "scope": [
+ "beginning.punctuation.definition.list.markdown"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Punctuation Definition Link",
+ "scope": "punctuation.definition.metadata.markdown",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Underline Link/Image",
+ "scope": "markup.underline.link.markdown,markup.underline.link.image.markdown",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Link Title/Description",
+ "scope": "string.other.link.title.markdown,string.other.link.description.markdown",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc Inline Raw",
+ "scope": "markup.raw.monospace.asciidoc",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc Inline Raw Punctuation Definition",
+ "scope": "punctuation.definition.asciidoc",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc List Punctuation Definition",
+ "scope": "markup.list.asciidoc",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc underline link",
+ "scope": "markup.link.asciidoc,markup.other.url.asciidoc",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc link name",
+ "scope": "string.unquoted.asciidoc,markup.other.url.asciidoc",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Regular Expressions",
+ "scope": "string.regexp",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Embedded",
+ "scope": "punctuation.section.embedded, variable.interpolation",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Embedded",
+ "scope": "punctuation.section.embedded.begin,punctuation.section.embedded.end",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "illegal",
+ "scope": "invalid.illegal",
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "illegal",
+ "scope": "invalid.illegal.bad-ampersand.html",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "scope": "invalid.illegal.unrecognized-tag.html",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Broken",
+ "scope": "invalid.broken",
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "Deprecated",
+ "scope": "invalid.deprecated",
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "html Deprecated",
+ "scope": "invalid.deprecated.entity.other.attribute-name.html",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Unimplemented",
+ "scope": "invalid.unimplemented",
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "Source Json Meta Structure Dictionary Json > String Quoted Json",
+ "scope": "source.json meta.structure.dictionary.json > string.quoted.json",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Source Json Meta Structure Dictionary Json > String Quoted Json > Punctuation String",
+ "scope": "source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Source Json Meta Structure Dictionary Json > Value Json > String Quoted Json,source Json Meta Structure Array Json > Value Json > String Quoted Json,source Json Meta Structure Dictionary Json > Value Json > String Quoted Json > Punctuation,source Json Meta Structure Array Json > Value Json > String Quoted Json > Punctuation",
+ "scope": "source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "Source Json Meta Structure Dictionary Json > Constant Language Json,source Json Meta Structure Array Json > Constant Language Json",
+ "scope": "source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] JSON Property Name",
+ "scope": "support.type.property-name.json",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] JSON Punctuation for Property Name",
+ "scope": "support.type.property-name.json punctuation",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "laravel blade tag",
+ "scope": "text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "laravel blade @",
+ "scope": "text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "use statement for other classes",
+ "scope": "support.other.namespace.use.php,support.other.namespace.use-as.php,entity.other.alias.php,meta.interface.php",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "error suppression",
+ "scope": "keyword.operator.error-control.php",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "php instanceof",
+ "scope": "keyword.operator.type.php",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "style double quoted array index normal begin",
+ "scope": "punctuation.section.array.begin.php",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "style double quoted array index normal end",
+ "scope": "punctuation.section.array.end.php",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "php illegal.non-null-typehinted",
+ "scope": "invalid.illegal.non-null-typehinted.php",
+ "settings": {
+ "foreground": "#f44747"
+ }
+ },
+ {
+ "name": "php types",
+ "scope": "storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "php call-function",
+ "scope": "meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "php function-resets",
+ "scope": "punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "support php constants",
+ "scope": "support.constant.core.rust",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "support php constants",
+ "scope": "support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "php goto",
+ "scope": "entity.name.goto-label.php,support.other.php",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "php logical/bitwise operator",
+ "scope": "keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "php regexp operator",
+ "scope": "keyword.operator.regexp.php",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "php comparison",
+ "scope": "keyword.operator.comparison.php",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "php heredoc/nowdoc",
+ "scope": "keyword.operator.heredoc.php,keyword.operator.nowdoc.php",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "python function decorator @",
+ "scope": "meta.function.decorator.python",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "python function support",
+ "scope": "support.token.decorator.python,meta.function.decorator.identifier.python",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "parameter function js/ts",
+ "scope": "function.parameter",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "brace function",
+ "scope": "function.brace",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "parameter function ruby cs",
+ "scope": "function.parameter.ruby, function.parameter.cs",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "constant.language.symbol.ruby",
+ "scope": "constant.language.symbol.ruby",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "rgb-value",
+ "scope": "rgb-value",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "rgb value",
+ "scope": "inline-color-decoration rgb-value",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "rgb value less",
+ "scope": "less rgb-value",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "sass selector",
+ "scope": "selector.sass",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "ts primitive/builtin types",
+ "scope": "support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "block scope",
+ "scope": "block.scope.end,block.scope.begin",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "cs storage type",
+ "scope": "storage.type.cs",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "cs local variable",
+ "scope": "entity.name.variable.local.cs",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "scope": "token.info-token",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "scope": "token.warn-token",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "scope": "token.error-token",
+ "settings": {
+ "foreground": "#f44747"
+ }
+ },
+ {
+ "scope": "token.debug-token",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "String interpolation",
+ "scope": [
+ "punctuation.definition.template-expression.begin",
+ "punctuation.definition.template-expression.end",
+ "punctuation.section.embedded"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Reset JavaScript string interpolation expression",
+ "scope": [
+ "meta.template.expression"
+ ],
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Import module JS",
+ "scope": [
+ "keyword.operator.module"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "js Flowtype",
+ "scope": [
+ "support.type.type.flowtype"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "js Flow",
+ "scope": [
+ "support.type.primitive"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "js class prop",
+ "scope": [
+ "meta.property.object"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "js func parameter",
+ "scope": [
+ "variable.parameter.function.js"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "js template literals begin",
+ "scope": [
+ "keyword.other.template.begin"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "js template literals end",
+ "scope": [
+ "keyword.other.template.end"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "js template literals variable braces begin",
+ "scope": [
+ "keyword.other.substitution.begin"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "js template literals variable braces end",
+ "scope": [
+ "keyword.other.substitution.end"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "js operator.assignment",
+ "scope": [
+ "keyword.operator.assignment"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "go operator",
+ "scope": [
+ "keyword.operator.assignment.go"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "go operator",
+ "scope": [
+ "keyword.operator.arithmetic.go",
+ "keyword.operator.address.go"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Go package name",
+ "scope": [
+ "entity.name.package.go"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "elm prelude",
+ "scope": [
+ "support.type.prelude.elm"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "elm constant",
+ "scope": [
+ "support.constant.elm"
+ ],
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "template literal",
+ "scope": [
+ "punctuation.quasi.element"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "html/pug (jade) escaped characters and entities",
+ "scope": [
+ "constant.character.entity"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "styling css pseudo-elements/classes to be able to differentiate from classes which are the same colour",
+ "scope": [
+ "entity.other.attribute-name.pseudo-element",
+ "entity.other.attribute-name.pseudo-class"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Clojure globals",
+ "scope": [
+ "entity.global.clojure"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Clojure symbols",
+ "scope": [
+ "meta.symbol.clojure"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Clojure constants",
+ "scope": [
+ "constant.keyword.clojure"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "CoffeeScript Function Argument",
+ "scope": [
+ "meta.arguments.coffee",
+ "variable.parameter.function.coffee"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Ini Default Text",
+ "scope": [
+ "source.ini"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "Makefile prerequisities",
+ "scope": [
+ "meta.scope.prerequisites.makefile"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Makefile text colour",
+ "scope": [
+ "source.makefile"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Groovy import names",
+ "scope": [
+ "storage.modifier.import.groovy"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Groovy Methods",
+ "scope": [
+ "meta.method.groovy"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Groovy Variables",
+ "scope": [
+ "meta.definition.variable.name.groovy"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Groovy Inheritance",
+ "scope": [
+ "meta.definition.class.inherited.classes.groovy"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "HLSL Semantic",
+ "scope": [
+ "support.variable.semantic.hlsl"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "HLSL Types",
+ "scope": [
+ "support.type.texture.hlsl",
+ "support.type.sampler.hlsl",
+ "support.type.object.hlsl",
+ "support.type.object.rw.hlsl",
+ "support.type.fx.hlsl",
+ "support.type.object.hlsl"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "SQL Variables",
+ "scope": [
+ "text.variable",
+ "text.bracketed"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "types",
+ "scope": [
+ "support.type.swift",
+ "support.type.vb.asp"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "heading 1, keyword",
+ "scope": [
+ "entity.name.function.xi"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "heading 2, callable",
+ "scope": [
+ "entity.name.class.xi"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "heading 3, property",
+ "scope": [
+ "constant.character.character-class.regexp.xi"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "heading 4, type, class, interface",
+ "scope": [
+ "constant.regexp.xi"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "heading 5, enums, preprocessor, constant, decorator",
+ "scope": [
+ "keyword.control.xi"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "heading 6, number",
+ "scope": [
+ "invalid.xi"
+ ],
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "string",
+ "scope": [
+ "beginning.punctuation.definition.quote.markdown.xi"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "comments",
+ "scope": [
+ "beginning.punctuation.definition.list.markdown.xi"
+ ],
+ "settings": {
+ "foreground": "#7f848e"
+ }
+ },
+ {
+ "name": "link",
+ "scope": [
+ "constant.character.xi"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "accent",
+ "scope": [
+ "accent.xi"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "wikiword",
+ "scope": [
+ "wikiword.xi"
+ ],
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "language operators like '+', '-' etc",
+ "scope": [
+ "constant.other.color.rgb-value.xi"
+ ],
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "elements to dim",
+ "scope": [
+ "punctuation.definition.tag.xi"
+ ],
+ "settings": {
+ "foreground": "#5c6370"
+ }
+ },
+ {
+ "name": "C++/C#",
+ "scope": [
+ "entity.name.label.cs",
+ "entity.name.scope-resolution.function.call",
+ "entity.name.scope-resolution.function.definition"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Markdown underscore-style headers",
+ "scope": [
+ "entity.name.label.cs",
+ "markup.heading.setext.1.markdown",
+ "markup.heading.setext.2.markdown"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "meta.brace.square",
+ "scope": [
+ " meta.brace.square"
+ ],
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Comments",
+ "scope": "comment, punctuation.definition.comment",
+ "settings": {
+ "foreground": "#7f848e"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Quote",
+ "scope": "markup.quote.markdown",
+ "settings": {
+ "foreground": "#5c6370"
+ }
+ },
+ {
+ "name": "punctuation.definition.block.sequence.item.yaml",
+ "scope": "punctuation.definition.block.sequence.item.yaml",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "scope": [
+ "constant.language.symbol.elixir",
+ "constant.language.symbol.double-quoted.elixir"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "scope": [
+ "entity.name.variable.parameter.cs"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "scope": [
+ "entity.name.variable.field.cs"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Deleted",
+ "scope": "markup.deleted",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Inserted",
+ "scope": "markup.inserted",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "Underline",
+ "scope": "markup.underline",
+ "settings": {
+ "fontStyle": "underline"
+ }
+ },
+ {
+ "name": "punctuation.section.embedded.begin.php",
+ "scope": [
+ "punctuation.section.embedded.begin.php",
+ "punctuation.section.embedded.end.php"
+ ],
+ "settings": {
+ "foreground": "#BE5046"
+ }
+ },
+ {
+ "name": "support.other.namespace.php",
+ "scope": [
+ "support.other.namespace.php"
+ ],
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "variable.other.object",
+ "scope": [
+ "variable.other.object"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "variable.other.constant.property",
+ "scope": [
+ "variable.other.constant.property"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "entity.other.inherited-class",
+ "scope": [
+ "entity.other.inherited-class"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "c variable readwrite",
+ "scope": "variable.other.readwrite.c",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "php scope",
+ "scope": "entity.name.variable.parameter.php,punctuation.separator.colon.php,constant.other.php",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Assembly",
+ "scope": [
+ "constant.numeric.decimal.asm.x86_64"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "scope": [
+ "support.other.parenthesis.regexp"
+ ],
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "scope": [
+ "constant.character.escape"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "scope": [
+ "string.regexp"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Markup: Strong",
+ "scope": "markup.bold",
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "name": "Sections",
+ "scope": "entity.name.section",
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "name": "CSS: Important Keyword",
+ "scope": "keyword.other.important",
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "name": "Functions",
+ "scope": [
+ "entity.name.function",
+ "meta.require",
+ "support.function.any-method",
+ "variable.function"
+ ],
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "name": "markup.bold.markdown",
+ "scope": "markup.bold.markdown",
+ "settings": {
+ "fontStyle": "bold"
+ }
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git "a/vscode/setting/\346\227\247\346\227\266\344\273\243\344\272\247\347\211\251/\344\273\243\347\240\201\351\253\230\344\272\256 OneDark/OneDark-Pro.jsonc" "b/vscode/setting/\346\227\247\346\227\266\344\273\243\344\272\247\347\211\251/\344\273\243\347\240\201\351\253\230\344\272\256 OneDark/OneDark-Pro.jsonc"
new file mode 100644
index 0000000..f39a45f
--- /dev/null
+++ "b/vscode/setting/\346\227\247\346\227\266\344\273\243\344\272\247\347\211\251/\344\273\243\347\240\201\351\253\230\344\272\256 OneDark/OneDark-Pro.jsonc"
@@ -0,0 +1,2024 @@
+// 来源: https://github.com/Binaryify/OneDark-Pro/blob/master/themes/OneDark-Pro.json
+
+{
+ "editor.tokenColorCustomizations": {
+ "textMateRules": [
+ {
+ "scope": "meta.embedded",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "unison punctuation",
+ "scope": "punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "haskell variable generic-type",
+ "scope": "variable.other.generic-type.haskell",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "haskell storage type",
+ "scope": "storage.type.haskell",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "support.variable.magic.python",
+ "scope": "support.variable.magic.python",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "punctuation.separator.parameters.python",
+ "scope": "punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "variable.parameter.function.language.special.self.python",
+ "scope": "variable.parameter.function.language.special.self.python",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "variable.parameter.function.language.special.cls.python",
+ "scope": "variable.parameter.function.language.special.cls.python",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "storage.modifier.lifetime.rust",
+ "scope": "storage.modifier.lifetime.rust",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "support.function.std.rust",
+ "scope": "support.function.std.rust",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "entity.name.lifetime.rust",
+ "scope": "entity.name.lifetime.rust",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "variable.language.rust",
+ "scope": "variable.language.rust",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "support.constant.edge",
+ "scope": "support.constant.edge",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "regexp constant character-class",
+ "scope": "constant.other.character-class.regexp",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "keyword.operator",
+ "scope": [
+ "keyword.operator.word"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "regexp operator.quantifier",
+ "scope": "keyword.operator.quantifier.regexp",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Text",
+ "scope": "variable.parameter.function",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Comment Markup Link",
+ "scope": "comment markup.link",
+ "settings": {
+ "foreground": "#5c6370"
+ }
+ },
+ {
+ "name": "markup diff",
+ "scope": "markup.changed.diff",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "diff",
+ "scope": "meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "inserted.diff",
+ "scope": "markup.inserted.diff",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "deleted.diff",
+ "scope": "markup.deleted.diff",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "c++ function",
+ "scope": "meta.function.c,meta.function.cpp",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "c++ block",
+ "scope": "punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "js/ts punctuation separator key-value",
+ "scope": "punctuation.separator.key-value",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "js/ts import keyword",
+ "scope": "keyword.operator.expression.import",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "math js/ts",
+ "scope": "support.constant.math",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "math property js/ts",
+ "scope": "support.constant.property.math",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "js/ts variable.other.constant",
+ "scope": "variable.other.constant",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "java type",
+ "scope": [
+ "storage.type.annotation.java",
+ "storage.type.object.array.java"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "java source",
+ "scope": "source.java",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "java modifier.import",
+ "scope": "punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "java modifier.import",
+ "scope": "meta.method.java",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "java modifier.import",
+ "scope": "storage.modifier.import.java,storage.type.java,storage.type.generic.java",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "java instanceof",
+ "scope": "keyword.operator.instanceof.java",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "java variable.name",
+ "scope": "meta.definition.variable.name.java",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "operator logical",
+ "scope": "keyword.operator.logical",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "operator bitwise",
+ "scope": "keyword.operator.bitwise",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "operator channel",
+ "scope": "keyword.operator.channel",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "support.constant.property-value.scss",
+ "scope": "support.constant.property-value.scss,support.constant.property-value.css",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "CSS/SCSS/LESS Operators",
+ "scope": "keyword.operator.css,keyword.operator.scss,keyword.operator.less",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "css color standard name",
+ "scope": "support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "css comma",
+ "scope": "punctuation.separator.list.comma.css",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "css attribute-name.id",
+ "scope": "support.constant.color.w3c-standard-color-name.css",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "css property-name",
+ "scope": "support.type.vendored.property-name.css",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "js/ts module",
+ "scope": "support.module.node,support.type.object.module,support.module.node",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "entity.name.type.module",
+ "scope": "entity.name.type.module",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "js variable readwrite",
+ "scope": "variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "js/ts json",
+ "scope": "support.constant.json",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "js/ts Keyword",
+ "scope": [
+ "keyword.operator.expression.instanceof",
+ "keyword.operator.new",
+ "keyword.operator.ternary",
+ "keyword.operator.optional",
+ "keyword.operator.expression.keyof"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "js/ts console",
+ "scope": "support.type.object.console",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "js/ts support.variable.property.process",
+ "scope": "support.variable.property.process",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "js console function",
+ "scope": "entity.name.function,support.function.console",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "keyword.operator.misc.rust",
+ "scope": "keyword.operator.misc.rust",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "keyword.operator.sigil.rust",
+ "scope": "keyword.operator.sigil.rust",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "operator",
+ "scope": "keyword.operator.delete",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "js dom",
+ "scope": "support.type.object.dom",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "js dom variable",
+ "scope": "support.variable.dom,support.variable.property.dom",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "keyword.operator",
+ "scope": "keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "C operator assignment",
+ "scope": "keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Punctuation",
+ "scope": "punctuation.separator.delimiter",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Other punctuation .c",
+ "scope": "punctuation.separator.c,punctuation.separator.cpp",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "C type posix-reserved",
+ "scope": "support.type.posix-reserved.c,support.type.posix-reserved.cpp",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "keyword.operator.sizeof.c",
+ "scope": "keyword.operator.sizeof.c,keyword.operator.sizeof.cpp",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "python parameter",
+ "scope": "variable.parameter.function.language.python",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "python type",
+ "scope": "support.type.python",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "python logical",
+ "scope": "keyword.operator.logical.python",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "pyCs",
+ "scope": "variable.parameter.function.python",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "python block",
+ "scope": "punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "python function-call.generic",
+ "scope": "meta.function-call.generic.python",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "python placeholder reset to normal string",
+ "scope": "constant.character.format.placeholder.other.python",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Operators",
+ "scope": "keyword.operator",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Compound Assignment Operators",
+ "scope": "keyword.operator.assignment.compound",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Compound Assignment Operators js/ts",
+ "scope": "keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Keywords",
+ "scope": "keyword",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Namespaces",
+ "scope": "entity.name.namespace",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Variables",
+ "scope": "variable",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Variables",
+ "scope": "variable.c",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Language variables",
+ "scope": "variable.language",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Java Variables",
+ "scope": "token.variable.parameter.java",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Java Imports",
+ "scope": "import.storage.java",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Packages",
+ "scope": "token.package.keyword",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Packages",
+ "scope": "token.package",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Functions",
+ "scope": [
+ "entity.name.function",
+ "meta.require",
+ "support.function.any-method",
+ "variable.function"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Classes",
+ "scope": "entity.name.type.namespace",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Classes",
+ "scope": "support.class, entity.name.type.class",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Class name",
+ "scope": "entity.name.class.identifier.namespace.type",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Class name",
+ "scope": [
+ "entity.name.class",
+ "variable.other.class.js",
+ "variable.other.class.ts"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Class name php",
+ "scope": "variable.other.class.php",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Type Name",
+ "scope": "entity.name.type",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Keyword Control",
+ "scope": "keyword.control",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Control Elements",
+ "scope": "control.elements, keyword.operator.less",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Methods",
+ "scope": "keyword.other.special-method",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Storage",
+ "scope": "storage",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Storage JS TS",
+ "scope": "token.storage",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Source Js Keyword Operator Delete,source Js Keyword Operator In,source Js Keyword Operator Of,source Js Keyword Operator Instanceof,source Js Keyword Operator New,source Js Keyword Operator Typeof,source Js Keyword Operator Void",
+ "scope": "keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Java Storage",
+ "scope": "token.storage.type.java",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Support",
+ "scope": "support.function",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Support type",
+ "scope": "support.type.property-name",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Support type",
+ "scope": "support.constant.property-value",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Support type",
+ "scope": "support.constant.font-name",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Meta tag",
+ "scope": "meta.tag",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Strings",
+ "scope": "string",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "Constant other symbol",
+ "scope": "constant.other.symbol",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Integers",
+ "scope": "constant.numeric",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Constants",
+ "scope": "constant",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Constants",
+ "scope": "punctuation.definition.constant",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Tags",
+ "scope": "entity.name.tag",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Attributes",
+ "scope": "entity.other.attribute-name",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Attribute IDs",
+ "scope": "entity.other.attribute-name.id",
+ "settings": {
+ "fontStyle": "normal",
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Attribute class",
+ "scope": "entity.other.attribute-name.class.css",
+ "settings": {
+ "fontStyle": "normal",
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Selector",
+ "scope": "meta.selector",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Headings",
+ "scope": "markup.heading",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Headings",
+ "scope": "markup.heading punctuation.definition.heading, entity.name.section",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Units",
+ "scope": "keyword.other.unit",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Bold",
+ "scope": "markup.bold,todo.bold",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Bold",
+ "scope": "punctuation.definition.bold",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "markup Italic",
+ "scope": "markup.italic, punctuation.definition.italic,todo.emphasis",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "emphasis md",
+ "scope": "emphasis md",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown headings",
+ "scope": "entity.name.section.markdown",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown heading Punctuation Definition",
+ "scope": "punctuation.definition.heading.markdown",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "punctuation.definition.list.begin.markdown",
+ "scope": "punctuation.definition.list.begin.markdown",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown heading setext",
+ "scope": "markup.heading.setext",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Punctuation Definition Bold",
+ "scope": "punctuation.definition.bold.markdown",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Inline Raw",
+ "scope": "markup.inline.raw.markdown",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Inline Raw",
+ "scope": "markup.inline.raw.string.markdown",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Inline Raw punctuation",
+ "scope": "punctuation.definition.raw.markdown",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown List Punctuation Definition",
+ "scope": "punctuation.definition.list.markdown",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Punctuation Definition String",
+ "scope": [
+ "punctuation.definition.string.begin.markdown",
+ "punctuation.definition.string.end.markdown",
+ "punctuation.definition.metadata.markdown"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "beginning.punctuation.definition.list.markdown",
+ "scope": [
+ "beginning.punctuation.definition.list.markdown"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Punctuation Definition Link",
+ "scope": "punctuation.definition.metadata.markdown",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Underline Link/Image",
+ "scope": "markup.underline.link.markdown,markup.underline.link.image.markdown",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Link Title/Description",
+ "scope": "string.other.link.title.markdown,string.other.link.description.markdown",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc Inline Raw",
+ "scope": "markup.raw.monospace.asciidoc",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc Inline Raw Punctuation Definition",
+ "scope": "punctuation.definition.asciidoc",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc List Punctuation Definition",
+ "scope": "markup.list.asciidoc",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc underline link",
+ "scope": "markup.link.asciidoc,markup.other.url.asciidoc",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Asciidoc link name",
+ "scope": "string.unquoted.asciidoc,markup.other.url.asciidoc",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Regular Expressions",
+ "scope": "string.regexp",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Embedded",
+ "scope": "punctuation.section.embedded, variable.interpolation",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Embedded",
+ "scope": "punctuation.section.embedded.begin,punctuation.section.embedded.end",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "illegal",
+ "scope": "invalid.illegal",
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "illegal",
+ "scope": "invalid.illegal.bad-ampersand.html",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "scope": "invalid.illegal.unrecognized-tag.html",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Broken",
+ "scope": "invalid.broken",
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "Deprecated",
+ "scope": "invalid.deprecated",
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "html Deprecated",
+ "scope": "invalid.deprecated.entity.other.attribute-name.html",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "Unimplemented",
+ "scope": "invalid.unimplemented",
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "Source Json Meta Structure Dictionary Json > String Quoted Json",
+ "scope": "source.json meta.structure.dictionary.json > string.quoted.json",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Source Json Meta Structure Dictionary Json > String Quoted Json > Punctuation String",
+ "scope": "source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Source Json Meta Structure Dictionary Json > Value Json > String Quoted Json,source Json Meta Structure Array Json > Value Json > String Quoted Json,source Json Meta Structure Dictionary Json > Value Json > String Quoted Json > Punctuation,source Json Meta Structure Array Json > Value Json > String Quoted Json > Punctuation",
+ "scope": "source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "Source Json Meta Structure Dictionary Json > Constant Language Json,source Json Meta Structure Array Json > Constant Language Json",
+ "scope": "source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] JSON Property Name",
+ "scope": "support.type.property-name.json",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] JSON Punctuation for Property Name",
+ "scope": "support.type.property-name.json punctuation",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "laravel blade tag",
+ "scope": "text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "laravel blade @",
+ "scope": "text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "use statement for other classes",
+ "scope": "support.other.namespace.use.php,support.other.namespace.use-as.php,entity.other.alias.php,meta.interface.php",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "error suppression",
+ "scope": "keyword.operator.error-control.php",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "php instanceof",
+ "scope": "keyword.operator.type.php",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "style double quoted array index normal begin",
+ "scope": "punctuation.section.array.begin.php",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "style double quoted array index normal end",
+ "scope": "punctuation.section.array.end.php",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "php illegal.non-null-typehinted",
+ "scope": "invalid.illegal.non-null-typehinted.php",
+ "settings": {
+ "foreground": "#f44747"
+ }
+ },
+ {
+ "name": "php types",
+ "scope": "storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "php call-function",
+ "scope": "meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "php function-resets",
+ "scope": "punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "support php constants",
+ "scope": "support.constant.core.rust",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "support php constants",
+ "scope": "support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "php goto",
+ "scope": "entity.name.goto-label.php,support.other.php",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "php logical/bitwise operator",
+ "scope": "keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "php regexp operator",
+ "scope": "keyword.operator.regexp.php",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "php comparison",
+ "scope": "keyword.operator.comparison.php",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "php heredoc/nowdoc",
+ "scope": "keyword.operator.heredoc.php,keyword.operator.nowdoc.php",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "python function decorator @",
+ "scope": "meta.function.decorator.python",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "python function support",
+ "scope": "support.token.decorator.python,meta.function.decorator.identifier.python",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "parameter function js/ts",
+ "scope": "function.parameter",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "brace function",
+ "scope": "function.brace",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "parameter function ruby cs",
+ "scope": "function.parameter.ruby, function.parameter.cs",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "constant.language.symbol.ruby",
+ "scope": "constant.language.symbol.ruby",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "rgb-value",
+ "scope": "rgb-value",
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "rgb value",
+ "scope": "inline-color-decoration rgb-value",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "rgb value less",
+ "scope": "less rgb-value",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "sass selector",
+ "scope": "selector.sass",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "ts primitive/builtin types",
+ "scope": "support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "block scope",
+ "scope": "block.scope.end,block.scope.begin",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "cs storage type",
+ "scope": "storage.type.cs",
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "cs local variable",
+ "scope": "entity.name.variable.local.cs",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "scope": "token.info-token",
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "scope": "token.warn-token",
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "scope": "token.error-token",
+ "settings": {
+ "foreground": "#f44747"
+ }
+ },
+ {
+ "scope": "token.debug-token",
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "String interpolation",
+ "scope": [
+ "punctuation.definition.template-expression.begin",
+ "punctuation.definition.template-expression.end",
+ "punctuation.section.embedded"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Reset JavaScript string interpolation expression",
+ "scope": [
+ "meta.template.expression"
+ ],
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Import module JS",
+ "scope": [
+ "keyword.operator.module"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "js Flowtype",
+ "scope": [
+ "support.type.type.flowtype"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "js Flow",
+ "scope": [
+ "support.type.primitive"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "js class prop",
+ "scope": [
+ "meta.property.object"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "js func parameter",
+ "scope": [
+ "variable.parameter.function.js"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "js template literals begin",
+ "scope": [
+ "keyword.other.template.begin"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "js template literals end",
+ "scope": [
+ "keyword.other.template.end"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "js template literals variable braces begin",
+ "scope": [
+ "keyword.other.substitution.begin"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "js template literals variable braces end",
+ "scope": [
+ "keyword.other.substitution.end"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "js operator.assignment",
+ "scope": [
+ "keyword.operator.assignment"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "go operator",
+ "scope": [
+ "keyword.operator.assignment.go"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "go operator",
+ "scope": [
+ "keyword.operator.arithmetic.go",
+ "keyword.operator.address.go"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "Go package name",
+ "scope": [
+ "entity.name.package.go"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "elm prelude",
+ "scope": [
+ "support.type.prelude.elm"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "elm constant",
+ "scope": [
+ "support.constant.elm"
+ ],
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "template literal",
+ "scope": [
+ "punctuation.quasi.element"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "html/pug (jade) escaped characters and entities",
+ "scope": [
+ "constant.character.entity"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "styling css pseudo-elements/classes to be able to differentiate from classes which are the same colour",
+ "scope": [
+ "entity.other.attribute-name.pseudo-element",
+ "entity.other.attribute-name.pseudo-class"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "Clojure globals",
+ "scope": [
+ "entity.global.clojure"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Clojure symbols",
+ "scope": [
+ "meta.symbol.clojure"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Clojure constants",
+ "scope": [
+ "constant.keyword.clojure"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "CoffeeScript Function Argument",
+ "scope": [
+ "meta.arguments.coffee",
+ "variable.parameter.function.coffee"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Ini Default Text",
+ "scope": [
+ "source.ini"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "Makefile prerequisities",
+ "scope": [
+ "meta.scope.prerequisites.makefile"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Makefile text colour",
+ "scope": [
+ "source.makefile"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Groovy import names",
+ "scope": [
+ "storage.modifier.import.groovy"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Groovy Methods",
+ "scope": [
+ "meta.method.groovy"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "Groovy Variables",
+ "scope": [
+ "meta.definition.variable.name.groovy"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Groovy Inheritance",
+ "scope": [
+ "meta.definition.class.inherited.classes.groovy"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "HLSL Semantic",
+ "scope": [
+ "support.variable.semantic.hlsl"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "HLSL Types",
+ "scope": [
+ "support.type.texture.hlsl",
+ "support.type.sampler.hlsl",
+ "support.type.object.hlsl",
+ "support.type.object.rw.hlsl",
+ "support.type.fx.hlsl",
+ "support.type.object.hlsl"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "SQL Variables",
+ "scope": [
+ "text.variable",
+ "text.bracketed"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "types",
+ "scope": [
+ "support.type.swift",
+ "support.type.vb.asp"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "heading 1, keyword",
+ "scope": [
+ "entity.name.function.xi"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "heading 2, callable",
+ "scope": [
+ "entity.name.class.xi"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "heading 3, property",
+ "scope": [
+ "constant.character.character-class.regexp.xi"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "heading 4, type, class, interface",
+ "scope": [
+ "constant.regexp.xi"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "name": "heading 5, enums, preprocessor, constant, decorator",
+ "scope": [
+ "keyword.control.xi"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "name": "heading 6, number",
+ "scope": [
+ "invalid.xi"
+ ],
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "string",
+ "scope": [
+ "beginning.punctuation.definition.quote.markdown.xi"
+ ],
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "comments",
+ "scope": [
+ "beginning.punctuation.definition.list.markdown.xi"
+ ],
+ "settings": {
+ "foreground": "#7f848e"
+ }
+ },
+ {
+ "name": "link",
+ "scope": [
+ "constant.character.xi"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "accent",
+ "scope": [
+ "accent.xi"
+ ],
+ "settings": {
+ "foreground": "#61afef"
+ }
+ },
+ {
+ "name": "wikiword",
+ "scope": [
+ "wikiword.xi"
+ ],
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "name": "language operators like '+', '-' etc",
+ "scope": [
+ "constant.other.color.rgb-value.xi"
+ ],
+ "settings": {
+ "foreground": "#ffffff"
+ }
+ },
+ {
+ "name": "elements to dim",
+ "scope": [
+ "punctuation.definition.tag.xi"
+ ],
+ "settings": {
+ "foreground": "#5c6370"
+ }
+ },
+ {
+ "name": "C++/C#",
+ "scope": [
+ "entity.name.label.cs",
+ "entity.name.scope-resolution.function.call",
+ "entity.name.scope-resolution.function.definition"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "Markdown underscore-style headers",
+ "scope": [
+ "entity.name.label.cs",
+ "markup.heading.setext.1.markdown",
+ "markup.heading.setext.2.markdown"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "meta.brace.square",
+ "scope": [
+ " meta.brace.square"
+ ],
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Comments",
+ "scope": "comment, punctuation.definition.comment",
+ "settings": {
+ "foreground": "#7f848e",
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "name": "[VSCODE-CUSTOM] Markdown Quote",
+ "scope": "markup.quote.markdown",
+ "settings": {
+ "foreground": "#5c6370"
+ }
+ },
+ {
+ "name": "punctuation.definition.block.sequence.item.yaml",
+ "scope": "punctuation.definition.block.sequence.item.yaml",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "scope": [
+ "constant.language.symbol.elixir",
+ "constant.language.symbol.double-quoted.elixir"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "scope": [
+ "entity.name.variable.parameter.cs"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "scope": [
+ "entity.name.variable.field.cs"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Deleted",
+ "scope": "markup.deleted",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "Inserted",
+ "scope": "markup.inserted",
+ "settings": {
+ "foreground": "#98c379"
+ }
+ },
+ {
+ "name": "Underline",
+ "scope": "markup.underline",
+ "settings": {
+ "fontStyle": "underline"
+ }
+ },
+ {
+ "name": "punctuation.section.embedded.begin.php",
+ "scope": [
+ "punctuation.section.embedded.begin.php",
+ "punctuation.section.embedded.end.php"
+ ],
+ "settings": {
+ "foreground": "#BE5046"
+ }
+ },
+ {
+ "name": "support.other.namespace.php",
+ "scope": [
+ "support.other.namespace.php"
+ ],
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "variable.other.object",
+ "scope": [
+ "variable.other.object"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "variable.other.constant.property",
+ "scope": [
+ "variable.other.constant.property"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "entity.other.inherited-class",
+ "scope": [
+ "entity.other.inherited-class"
+ ],
+ "settings": {
+ "foreground": "#e5c07b"
+ }
+ },
+ {
+ "name": "c variable readwrite",
+ "scope": "variable.other.readwrite.c",
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "php scope",
+ "scope": "entity.name.variable.parameter.php,punctuation.separator.colon.php,constant.other.php",
+ "settings": {
+ "foreground": "#abb2bf"
+ }
+ },
+ {
+ "name": "Assembly",
+ "scope": [
+ "constant.numeric.decimal.asm.x86_64"
+ ],
+ "settings": {
+ "foreground": "#c678dd"
+ }
+ },
+ {
+ "scope": [
+ "support.other.parenthesis.regexp"
+ ],
+ "settings": {
+ "foreground": "#d19a66"
+ }
+ },
+ {
+ "scope": [
+ "constant.character.escape"
+ ],
+ "settings": {
+ "foreground": "#56b6c2"
+ }
+ },
+ {
+ "scope": [
+ "string.regexp"
+ ],
+ "settings": {
+ "foreground": "#e06c75"
+ }
+ },
+ {
+ "name": "js/ts italic",
+ "scope": "entity.other.attribute-name.js,entity.other.attribute-name.ts,entity.other.attribute-name.jsx,entity.other.attribute-name.tsx,variable.parameter,variable.language.super",
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "name": "comment",
+ "scope": "comment.line.double-slash,comment.block.documentation",
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "name": "Python Keyword Control",
+ "scope": "keyword.control.import.python,keyword.control.flow.python,keyword.operator.logical.python",
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "name": "markup.italic.markdown",
+ "scope": "markup.italic.markdown",
+ "settings": {
+ "fontStyle": "italic"
+ }
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git "a/vscode/setting/\346\227\247\346\227\266\344\273\243\344\272\247\347\211\251/\344\273\243\347\240\201\351\253\230\344\272\256 OneDark/diff.js" "b/vscode/setting/\346\227\247\346\227\266\344\273\243\344\272\247\347\211\251/\344\273\243\347\240\201\351\253\230\344\272\256 OneDark/diff.js"
new file mode 100644
index 0000000..ed7ab95
--- /dev/null
+++ "b/vscode/setting/\346\227\247\346\227\266\344\273\243\344\272\247\347\211\251/\344\273\243\347\240\201\351\253\230\344\272\256 OneDark/diff.js"
@@ -0,0 +1,38 @@
+/**
+ * 经过测试, darker 和 mix 的颜色部分是一模一样的
+ */
+
+const fs = require('fs')
+const { join } = require('path')
+
+let bufD = fs.readFileSync(j('OneDark-Pro-darker.jsonc'), {encoding: 'utf-8'})
+let bufF = fs.readFileSync(j('OneDark-Pro-flat.jsonc'), {encoding: 'utf-8'})
+let bufM = fs.readFileSync(j('OneDark-Pro-mix.jsonc'), {encoding: 'utf-8'})
+let buf_ = fs.readFileSync(j('OneDark-Pro.jsonc'), {encoding: 'utf-8'})
+
+bufD = bufD.substring(bufD.indexOf('{')).replace(' ', '')
+bufF = bufF.substring(bufF.indexOf('{')).replace(' ', '')
+bufM = bufM.substring(bufM.indexOf('{')).replace(' ', '')
+buf_ = buf_.substring(buf_.indexOf('{')).replace(' ', '')
+
+function diff() {
+ let diffD_ = 0
+ let diffF_ = 0
+
+ let diffDM = 0
+ for (let i = 0; i < buf_.length; i++) {
+ if (buf_[i] !== bufD[i]) diffD_++
+ if (buf_[i] !== bufF[i]) diffF_++
+ if (bufD[i] !== bufM[i]) diffDM++
+ }
+ console.log(diffD_)
+ console.log(diffF_)
+
+ console.log(diffDM)
+}
+
+function j(file_name) {
+ return join(__dirname, file_name)
+}
+
+diff()
\ No newline at end of file
diff --git "a/vscode/setting/\346\227\247\346\227\266\344\273\243\344\272\247\347\211\251/\347\274\226\350\276\221\345\231\250\351\242\234\350\211\262\344\270\273\351\242\230.jsonc" "b/vscode/setting/\346\227\247\346\227\266\344\273\243\344\272\247\347\211\251/\347\274\226\350\276\221\345\231\250\351\242\234\350\211\262\344\270\273\351\242\230.jsonc"
new file mode 100644
index 0000000..2b756b2
--- /dev/null
+++ "b/vscode/setting/\346\227\247\346\227\266\344\273\243\344\272\247\347\211\251/\347\274\226\350\276\221\345\231\250\351\242\234\350\211\262\344\270\273\351\242\230.jsonc"
@@ -0,0 +1,63 @@
+/**
+ * @author: Linhieng
+ * @data: 2022-09-12 16:19
+ * @文件说明: 编辑器的颜色主题,现在没用上了,这里的都是旧的,不要改变这个文件了,新的已经移到 “外观颜色的配置.jsonc”
+ */
+
+{
+ "workbench.colorCustomizations": {
+ "activityBar.background": "#333", // 活动栏背景色
+ "titleBar.activeBackground": "#23272e", // 状态栏背景色
+ "tab.activeBackground": "#000", // 活动选项卡背景色
+ "tab.inactiveBackground": "#2d2d2d", // 非活动选项卡背景色
+ // "tab.hoverBackground": "", // 选项卡 hover 背景色, 不允许设置这个值
+
+ "editorLineNumber.foreground": "#858585",
+ "editor.findMatchBorder": "#ff0000",
+ "editor.selectionHighlightBackground": "#ffffff00",
+ "editor.selectionHighlightBorder": "#eeff00",
+ "editor.lineHighlightBackground": "#ffffff22",
+ "editor.background": "#111",
+ "editor.lineHighlightBorder": "#00c3ff", // 光标所在行的边框色
+ "editorCursor.foreground": "#ff0000",
+ "editorOverviewRuler.background": "#000000", // 右侧滚动条的背景颜色
+ "editorBracketMatch.border": "#00ff00",
+ "editorBracketMatch.background": "#00ff0055",
+ "editorHoverWidget.background": "#000000",
+ "editorLineNumber.activeForeground": "#00ffeacc",
+ "editorWhitespace.foreground": "#aaaaaa",
+ "editorIndentGuide.activeBackground": "#fffb0000", // 活动参考线不准确,那还不如不显示
+
+
+
+ "scrollbarSlider.background": "#567ea3",
+ "scrollbarSlider.hoverBackground": "#3e7fbd",
+ "scrollbarSlider.activeBackground": "#1f85e4",
+
+ "terminal.selectionBackground": "#ffffff44",
+ "terminalCursor.foreground": "#e70202",
+ "terminal.background": "#000",
+ "tree.indentGuidesStroke": "#e8d903", // 侧边栏缩进参考线颜色
+ "terminal.foreground": "#00d52e", // 终端能看见的大多数字体颜色
+ "terminal.ansiBrightBlack": "#eaee1f", // 带 --xxx 的有颜色
+ "terminal.ansiBrightYellow": "#03dbdb", // 第一个命令的颜色
+
+ // 和某些列 list 有关的
+ "list.activeSelectionBackground": "#094771", // ctrl+shift+p 时当前选择项的背景色
+ "list.activeSelectionForeground": "#d7dae0", // ctrl+shift+p 时当前选择项的前景色
+ "list.hoverForeground": "#0da4d1", // 输入移入时侧边栏文件前景色
+ "list.highlightForeground": "#18a3ff", // 弹出提示时高亮前景色
+ "editorSuggestWidget.selectedBackground": "#094771", // 弹出建议时所选条目背景色
+
+ // 窗口最下面状态栏
+ "statusBar.background": "#007acc",
+ "statusBar.foreground": "#fafafa",
+ "statusBar.noFolderBackground": "#68217a",
+ "statusBarItem.remoteBackground": "#16825d",
+ "statusBarItem.remoteForeground": "#FFFFFF",
+
+ // 侧边栏文件树
+ "sideBar.background": "#00000011",
+ "sideBar.foreground": "#c2c2c2",
+ }
+}
\ No newline at end of file
diff --git "a/vscode/\346\241\210\344\276\213\350\247\243\345\206\263\346\226\271\346\241\210.md" "b/vscode/\346\241\210\344\276\213\350\247\243\345\206\263\346\226\271\346\241\210.md"
new file mode 100644
index 0000000..2699444
--- /dev/null
+++ "b/vscode/\346\241\210\344\276\213\350\247\243\345\206\263\346\226\271\346\241\210.md"
@@ -0,0 +1,28 @@
+# 案例解决方案
+
+## 有关 markdown 智能粘贴的那些事
+
+更多信息请查看 [vscode#188736](https://github.com/microsoft/vscode/issues/188736)。这里就直接说我对智能粘贴的处理方案:
+
+首先,配置 `settings.json` 文件:
+
+```json
+"markdown.editor.pasteUrlAsFormattedLink.enabled": "always",
+// 无论何时,当在 markdown 文档中粘贴一个链接时,都会将其处理为链接格式 —— [text](https://github.com/microsoft/vscode/issues/188736)
+```
+
+但有时候我们只想粘贴为纯文本格式,故我们可以为纯文本粘贴提供一个新的快捷键:编辑 `keybindings.json` 文件
+
+```json
+ {
+ "key": "ctrl+l ctrl+v",
+ "command": "editor.action.pasteAs",
+ "when": "editorLangId == 'markdown'",
+ "args": {
+ // 粘贴为纯文本
+ "id": "text"
+ }
+ },
+```
+
+现在,当键入 `ctrl+v` 时始终粘贴为链接格式,需要粘贴为纯文本格式时,只需键入 `ctrl+l ctrl+v`。