diff --git a/keymap.json b/keymap.json index 20b524a..db68283 100644 --- a/keymap.json +++ b/keymap.json @@ -62,6 +62,8 @@ "ctrl-shift-l": "language_selector::Toggle", + + "ctrl-alt": "editor::OpenUrl", // "ctrl-shift-enter": "editor::FindAllReferences", "ctrl-enter": "editor::GoToDefinition", // TODO: open-url, and somehow disable FindAllReferences fallback behavior here // "ctrl-enter": ["editor::GoToDefinition", "editor::OpenUrl"], diff --git a/settings.json b/settings.json index 898821d..c35a7a1 100644 --- a/settings.json +++ b/settings.json @@ -7,6 +7,7 @@ // custom settings, run `zed: open default settings` from the // command palette { + // "base_keymap": "Atom", // default is VSCode "ssh_connections": [ { "host": "rocm.pbsds.net", @@ -58,6 +59,9 @@ // I'd like more control over what is made ino a preview and not "enabled": false }, + "node": { + "ignore_system_version": false, + }, "auto_install_extensions": { // "railcast": true, "cython": true, @@ -65,6 +69,7 @@ "dockerfile": true, "glsl": true, "graphviz": true, + "harper": true, "haskell": true, "html": true, "ini": true, @@ -77,19 +82,28 @@ "make": true, "neocmake": true, "nix": true, + "proto": true, "pylsp": true, "scala": true, "toml": true, + "typos": true, "typst": true, - "proto": true, "verilog": true, - "vhdl": true + "vhdl": true, }, "languages": { "Nix": { "tab_size": 2 } }, + "lsp": { + "typos": { + "initialization_options": { + // bundled binary is dynamically linked + "path": "typos-lsp", + }, + }, + }, "file_types": { "CMake": ["CMakeLists.txt"] } diff --git a/snippets/json.json b/snippets/json.json new file mode 100644 index 0000000..f730d94 --- /dev/null +++ b/snippets/json.json @@ -0,0 +1,7 @@ +{ + "comment": { + "prefix": "comment", + "body": "\"__COMMENT${2}__\": \"$1\",$0", + "description": "JSON snippet 'comment'" + }, +} diff --git a/snippets/jsonc.json b/snippets/jsonc.json new file mode 100644 index 0000000..f730d94 --- /dev/null +++ b/snippets/jsonc.json @@ -0,0 +1,7 @@ +{ + "comment": { + "prefix": "comment", + "body": "\"__COMMENT${2}__\": \"$1\",$0", + "description": "JSON snippet 'comment'" + }, +} diff --git a/snippets/shell script.json b/snippets/shell script.json index 00229c8..4404a00 100644 --- a/snippets/shell script.json +++ b/snippets/shell script.json @@ -1,28 +1,38 @@ { "shebang": { - // TODO: find a better prefix + // "__COMMENT__": "TODO: find a better prefix", "prefix": "env", "body": "#!/usr/bin/env bash$0", "description": "Bash snippet 'env'" }, + "confirm": { + "prefix": "confirm", + "body": "gum confirm \"${1:Are you sure?}\" --default=yes$0", + "description": "Bash snippet 'confirm'" + }, "if": { "prefix": "if", - "body": "if [[ $1 ]]; then\n $0\nfi", + "body": "if ${2:[[ $1 ]]}; then\n\t$0\nfi", "description": "Bash snippet 'if'" }, "while": { "prefix": "while", - "body": "while read ${1:line}; do\n $0\ndone", + "body": "while read ${1:line}; do\n\t$2\ndone$0", "description": "Bash snippet 'while'" }, - "for": { - "prefix": "for", - "body": "for ${1:i} in ${2:\"\\${array[@]\\}\"}; do\n $0\ndone", - "description": "Bash snippet 'for'" + "foreach": { + "prefix": "for-in", + "body": "for ${1:i} in ${3:\"\\${${2:array}[@]\\}\"}; do\n\t$4\ndone$0", + "description": "Bash snippet 'foreach'" + }, + "for-range": { + "prefix": "for-range", + "body": "for ${1:i} in ${4:{${2:1}..${3:10}\\}}; do\n\t$5\ndone$0", + "description": "Bash snippet 'for-in'" }, "case": { "prefix": "case", - "body": "case ${1:EXPRESSION} in\n ${2:PATTERN})\n ${3:STATEMENTS}\n ;;\n *)\n ${4:STATEMENTS}\n ;;\nesac$0", + "body": "case ${1:EXPRESSION} in\n\t${2:PATTERN})\n\t\t${3:STATEMENTS}\n\t\t;;\n\t*)\n\t\t${4:STATEMENTS}\n\t\t;;\nesac$0", "description": "Bash snippet 'case'" }, "local": { @@ -50,19 +60,39 @@ "body": "\"\\${#$1[@]\\}\"$0", "description": "Bash snippet 'length'" }, + "join-array": { + "prefix": "join-array", + "body": "\"\\$(IFS=${1:\\$'\\n'}; printf \"%s\" \"\\${${2:arr}[*]}\")\"$0", + "description": "Bash snippet 'join-array'" + }, "variable": { "prefix": "var", - "body": "\"\\${$1\\}\"$0", + "body": "${2:\"}\\${$1\\}${2:\"}$0", "description": "Bash snippet 'variable'" }, "subshell": { - "prefix": "sub", + "prefix": "subshell", "body": "\"\\$($1)\"$0", "description": "Bash snippet 'subshell'" }, + "subshell-multiline": { + "prefix": "subshell-multiline", + "body": "${1:tmpcmd}() {\n\t${2:BODY}\n}\n\"\\$(declare -f ${1:tmpcmd}); ${1:tmpcmd} \\\"\\$@\\\"\"\nunset -f ${1:tmpcmd}$0", + "description": "Bash snippet 'subshell-multiline'" + }, "math": { "prefix": "math", "body": "\\$(($1))$0", "description": "Bash snippet 'math'" + }, + "heredoc": { + "prefix": "eof", + "body": "<<-\"${1:EOF}\"\n\t${2:BODY}\n${1:EOF}\n$0", + "description": "Bash snippet 'heredoc'" + }, + "has": { + "prefix": "has", + "body": "command -v ${1:cmd} >/dev/null$0", + "description": "Bash snippet 'has'" } }