db7ba1dff2
ci / build (ubuntu) (push) Has been cancelled
ci / unit + fmt (push) Has been cancelled
ci / examples (push) Has been cancelled
ci / goldens + tools (push) Has been cancelled
ci / apps (push) Has been cancelled
ci / selfhost smoke (push) Has been cancelled
ci / macos smoke (push) Has been cancelled
ci / windows smoke (push) Has been cancelled
ci / CI gate (push) Has been cancelled
selfhost-loop / bootstrap determinism (push) Has been cancelled
bux-lsp 0.17 publishes in-process diagnostics on open/change/save so editors show red squiggles for lex/parse/type errors in the live buffer. VS Code client discovers tools/bux-lsp, adds status bar/restart, richer syntax/snippets, and docs (docs/LSP.md) for forum/editor setup.
89 lines
2.6 KiB
JSON
89 lines
2.6 KiB
JSON
{
|
|
"comments": {
|
|
"lineComment": "//",
|
|
"blockComment": ["/*", "*/"]
|
|
},
|
|
"brackets": [
|
|
["{", "}"],
|
|
["[", "]"],
|
|
["(", ")"]
|
|
],
|
|
"colorizedBracketPairs": [
|
|
["{", "}"],
|
|
["[", "]"],
|
|
["(", ")"]
|
|
],
|
|
"autoClosingPairs": [
|
|
{ "open": "{", "close": "}" },
|
|
{ "open": "[", "close": "]" },
|
|
{ "open": "(", "close": ")" },
|
|
{ "open": "\"", "close": "\"", "notIn": ["string", "comment"] },
|
|
{ "open": "`", "close": "`", "notIn": ["string", "comment"] },
|
|
{ "open": "'", "close": "'", "notIn": ["string", "comment"] },
|
|
{ "open": "/*", "close": " */", "notIn": ["string"] }
|
|
],
|
|
"surroundingPairs": [
|
|
["{", "}"],
|
|
["[", "]"],
|
|
["(", ")"],
|
|
["\"", "\""],
|
|
["`", "`"],
|
|
["'", "'"]
|
|
],
|
|
"autoCloseBefore": ";:.,=}])>` \n\t",
|
|
"folding": {
|
|
"markers": {
|
|
"start": "^\\s*//\\s*#?region\\b",
|
|
"end": "^\\s*//\\s*#?endregion\\b"
|
|
},
|
|
"offSide": false
|
|
},
|
|
"wordPattern": "(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\#\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)",
|
|
"indentationRules": {
|
|
"increaseIndentPattern": "^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)\\s*$",
|
|
"decreaseIndentPattern": "^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]\\)].*$"
|
|
},
|
|
"onEnterRules": [
|
|
{
|
|
"beforeText": "^\\s*/\\*(?!/).*[^*/]\\s*$",
|
|
"afterText": "^\\s*\\*/$",
|
|
"action": {
|
|
"indent": "indentOutdent",
|
|
"appendText": " * "
|
|
}
|
|
},
|
|
{
|
|
"beforeText": "^\\s*/\\*(?!/).*[^*/]\\s*$",
|
|
"action": {
|
|
"indent": "none",
|
|
"appendText": " * "
|
|
}
|
|
},
|
|
{
|
|
"beforeText": "^(\\t|(\\ \\ ))*\\ \\*(\\ ([^*]|\\*(?!/))*)?$",
|
|
"action": {
|
|
"indent": "none",
|
|
"appendText": "* "
|
|
}
|
|
},
|
|
{
|
|
"beforeText": "^(\\t|(\\ \\ ))*\\ */.*$",
|
|
"action": {
|
|
"indent": "none"
|
|
}
|
|
},
|
|
{
|
|
"beforeText": "^\\s*(func|async\\s+func|struct|enum|union|interface|extend|module|macro!|if|else|while|for|do|loop|match|switch|case)\\b.*\\{\\s*$",
|
|
"action": {
|
|
"indent": "indent"
|
|
}
|
|
},
|
|
{
|
|
"beforeText": "^\\s*.*=>\\s*$",
|
|
"action": {
|
|
"indent": "indent"
|
|
}
|
|
}
|
|
]
|
|
}
|