diff --git a/.gitmodules b/.gitmodules index 45988ae..7e94d8e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -58,3 +58,12 @@ [submodule "zsh/customizations/plugins/zlong_alert.zsh"] path = zsh/customizations/plugins/zlong_alert url = https://github.com/kevinywlui/zlong_alert.zsh.git +[submodule "vim/bundle/nvim-lspconfig"] + path = vim/bundle/nvim-lspconfig + url = https://github.com/neovim/nvim-lspconfig.git +[submodule "vim/bundle/nvim-cmp"] + path = vim/bundle/nvim-cmp + url = https://github.com/hrsh7th/nvim-cmp.git +[submodule "vim/bundle/vim-accent"] + path = vim/bundle/vim-accent + url = https://github.com/airblade/vim-accent.git diff --git a/i3/config b/i3/config index a811d7e..c2b149b 100644 --- a/i3/config +++ b/i3/config @@ -43,13 +43,13 @@ exec --no-startup-id exec gammastep exec --no-startup-id exec setxkbmap -option shift:both_capslock,caps:hyper # Set up xcape to switch input modes for mozc with caps lock exec --no-startup-id exec xcape -e 'Hyper_L=Control_L|grave' -# Set up xcape to make control a closer escape instead -exec --no-startup-id exec xcape -e 'Control_L=Escape' -# Set up xcape to make tapping the super key trigger the tmux modifier key. -exec --no-startup-id exec xcape -e 'Super_L=Control_L|a' for_window [class="^journal-terminal-st$"] floating enable for_window [class="^journal-terminal-st$"] sticky enable bindsym $mod+j exec exec st -c journal-terminal-st -t "Journal" -g 150x50 -e ~/.local/bin/guided-journal +for_window [class="^Qalculate-gtk$"] floating enable +for_window [class="^Qalculate-gtk$"] sticky enable +bindsym $mod+q exec exec qalculate-gtk + # Use pactl to adjust volume in PulseAudio. bindsym XF86AudioRaiseVolume exec --no-startup-id exec ~/.config/i3/helpers/volume.sh up @@ -245,6 +245,7 @@ bindsym $mod+Control+3 workspace $ws3 ; exec exec discord for_window [class="^jetbrains-.*$" title="win0"] floating enable # Make the JetBrains IDEs place their windows on desktop 4 assign [class="^jetbrains-.*$"] workspace number $ws4 +bindsym $mod+Control+4 workspace $ws4 ; exec exec /opt/webstorm/bin/webstorm.sh # start a terminal assign [class="^st$"] workspace number $ws5 diff --git a/nvim/init.vim b/nvim/init.vim index 24190b4..3d85306 100644 --- a/nvim/init.vim +++ b/nvim/init.vim @@ -2,4 +2,85 @@ set runtimepath^=~/.vim runtimepath+=~/.vim/after set termguicolors " True Color support let &packpath = &runtimepath source ~/.vimrc +inoremap +inoremap + map n NERDTreeTabsToggle +lua << EOF +vim.g.markdown_fenced_languages = { + "ts=typescript" +} +local nvim_lsp = require('lspconfig') +local function goto_definition(split_cmd) + local util = vim.lsp.util + local log = require("vim.lsp.log") + local api = vim.api + + -- note, this handler style is for neovim 0.5.1/0.6, if on 0.5, call with function(_, method, result) + local handler = function(_, result, ctx) + if result == nil or vim.tbl_isempty(result) then + local _ = log.info() and log.info(ctx.method, "No location found") + return nil + end + + if split_cmd then + vim.cmd(split_cmd) + end + + if vim.tbl_islist(result) then + util.jump_to_location(result[1]) + + if #result > 1 then + util.set_qflist(util.locations_to_items(result)) + api.nvim_command("copen") + api.nvim_command("wincmd p") + end + else + util.jump_to_location(result) + end + end + + return handler +end + +vim.lsp.handlers["textDocument/definition"] = goto_definition('vsplit') + +-- Use an on_attach function to only map the following keys +-- after the language server attaches to the current buffer +local on_attach = function(client, bufnr) + local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end + local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end + + -- Enable completion triggered by + buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc') + + -- Mappings. + local opts = { noremap=true, silent=true } + + -- See `:help vim.lsp.*` for documentation on any of the below functions + buf_set_keymap('n', 'gD', 'lua vim.lsp.buf.declaration()', opts) + buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) + buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) + buf_set_keymap('n', 'gi', 'lua vim.lsp.buf.implementation()', opts) + buf_set_keymap('n', '', 'lua vim.lsp.buf.signature_help()', opts) + buf_set_keymap('n', 'wa', 'lua vim.lsp.buf.add_workspace_folder()', opts) + buf_set_keymap('n', 'wr', 'lua vim.lsp.buf.remove_workspace_folder()', opts) + buf_set_keymap('n', 'wl', 'lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))', opts) + buf_set_keymap('n', 'D', 'lua vim.lsp.buf.type_definition()', opts) + buf_set_keymap('n', 'rn', 'lua vim.lsp.buf.rename()', opts) + buf_set_keymap('n', 'ca', 'lua vim.lsp.buf.code_action()', opts) + buf_set_keymap('n', 'gr', 'lua vim.lsp.buf.references()', opts) + buf_set_keymap('n', 'e', 'lua vim.diagnostic.open_float()', opts) + buf_set_keymap('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) + buf_set_keymap('n', ']d', 'lua vim.diagnostic.goto_next()', opts) + buf_set_keymap('n', 'q', 'lua vim.diagnostic.setloclist()', opts) + buf_set_keymap('n', 'f', 'lua vim.lsp.buf.formatting()', opts) + +end +nvim_lsp.denols.setup{ + on_attach = on_attach, + flags = { + debounce_text_changes = 150, + } +} +EOF diff --git a/vim/bundle/nvim-cmp b/vim/bundle/nvim-cmp new file mode 160000 index 0000000..af07ff9 --- /dev/null +++ b/vim/bundle/nvim-cmp @@ -0,0 +1 @@ +Subproject commit af07ff9b7973e95eff9e0275e13fe0350281208b diff --git a/vim/bundle/nvim-lspconfig b/vim/bundle/nvim-lspconfig new file mode 160000 index 0000000..22b21bc --- /dev/null +++ b/vim/bundle/nvim-lspconfig @@ -0,0 +1 @@ +Subproject commit 22b21bc000a8320675ea10f4f50f1bbd48d09ff2 diff --git a/vim/bundle/typescript-vim b/vim/bundle/typescript-vim deleted file mode 160000 index 17d85d8..0000000 --- a/vim/bundle/typescript-vim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 17d85d8051ba21283e62a9101734981e10b732fd diff --git a/vim/bundle/vim-accent b/vim/bundle/vim-accent new file mode 160000 index 0000000..3a4d160 --- /dev/null +++ b/vim/bundle/vim-accent @@ -0,0 +1 @@ +Subproject commit 3a4d1608eb77eacd05abab6766deec20ae3e45f0 diff --git a/vim/bundle/vim-gfm-syntax b/vim/bundle/vim-gfm-syntax deleted file mode 160000 index c0ff9e4..0000000 --- a/vim/bundle/vim-gfm-syntax +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c0ff9e4994d4e79c8d5edf963094518dceea2623 diff --git a/vim/bundle/vim-javascript b/vim/bundle/vim-javascript deleted file mode 160000 index 3c90d0c..0000000 --- a/vim/bundle/vim-javascript +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3c90d0cc37bb8b78422f647e62587f498a5dd7bd diff --git a/vim/bundle/vim-tsx b/vim/bundle/vim-tsx deleted file mode 160000 index 77c89c4..0000000 --- a/vim/bundle/vim-tsx +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 77c89c42e189fefd3c9a632b37b7e3b3b9edf918 diff --git a/zsh/customizations/gcp.zsh b/zsh/customizations/gcp.zsh new file mode 100644 index 0000000..44a24e9 --- /dev/null +++ b/zsh/customizations/gcp.zsh @@ -0,0 +1,6 @@ + +# The next line updates PATH for the Google Cloud SDK. +if [ -f '/home/reya/google-cloud-sdk/path.zsh.inc' ]; then . '/home/reya/google-cloud-sdk/path.zsh.inc'; fi + +# The next line enables shell command completion for gcloud. +if [ -f '/home/reya/google-cloud-sdk/completion.zsh.inc' ]; then . '/home/reya/google-cloud-sdk/completion.zsh.inc'; fi diff --git a/zsh/customizations/plugins/deno/_deno.zsh b/zsh/customizations/plugins/deno/_deno.zsh new file mode 100644 index 0000000..878d8e3 --- /dev/null +++ b/zsh/customizations/plugins/deno/_deno.zsh @@ -0,0 +1,703 @@ +#compdef deno + +autoload -U is-at-least + +_deno() { + typeset -A opt_args + typeset -a _arguments_options + local ret=1 + + if is-at-least 5.2; then + _arguments_options=(-s -S -C) + else + _arguments_options=(-s -C) + fi + + local context curcontext="$curcontext" state line + _arguments "${_arguments_options[@]}" \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +":: :_deno_commands" \ +"*::: :->deno" \ +&& ret=0 + case $state in + (deno) + words=($line[1] "${words[@]}") + (( CURRENT += 1 )) + curcontext="${curcontext%:*:*}:deno-command-$line[1]:" + case $line[1] in + (bundle) +_arguments "${_arguments_options[@]}" \ +'--import-map=[Load import map file]' \ +'-c+[Load configuration file]' \ +'--config=[Load configuration file]' \ +'-r+[Reload source code cache (recompile TypeScript)]' \ +'--reload=[Reload source code cache (recompile TypeScript)]' \ +'--lock=[Check the specified lock file]' \ +'--cert=[Load certificate authority from PEM encoded file]' \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'--no-remote[Do not resolve remote modules]' \ +'--no-check[Skip type checking modules]' \ +'--lock-write[Write lock file (use with --lock)]' \ +'--watch[UNSTABLE: Watch for file changes and restart process automatically]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +':source_file:_files' \ +'::out_file:_files' \ +&& ret=0 +;; +(cache) +_arguments "${_arguments_options[@]}" \ +'--import-map=[Load import map file]' \ +'-c+[Load configuration file]' \ +'--config=[Load configuration file]' \ +'-r+[Reload source code cache (recompile TypeScript)]' \ +'--reload=[Reload source code cache (recompile TypeScript)]' \ +'--lock=[Check the specified lock file]' \ +'--cert=[Load certificate authority from PEM encoded file]' \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'--no-remote[Do not resolve remote modules]' \ +'--no-check[Skip type checking modules]' \ +'--lock-write[Write lock file (use with --lock)]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +':file:_files' \ +&& ret=0 +;; +(compile) +_arguments "${_arguments_options[@]}" \ +'--import-map=[Load import map file]' \ +'-c+[Load configuration file]' \ +'--config=[Load configuration file]' \ +'-r+[Reload source code cache (recompile TypeScript)]' \ +'--reload=[Reload source code cache (recompile TypeScript)]' \ +'--lock=[Check the specified lock file]' \ +'--cert=[Load certificate authority from PEM encoded file]' \ +'--allow-read=[Allow file system read access]' \ +'--allow-write=[Allow file system write access]' \ +'--allow-net=[Allow network access]' \ +'--unsafely-ignore-certificate-errors=[DANGER: Disables verification of TLS certificates]' \ +'--allow-env=[Allow environment access]' \ +'--allow-run=[Allow running subprocesses]' \ +'--allow-ffi=[Allow loading dynamic libraries]' \ +'--location=[Value of '\''globalThis.location'\'' used by some web APIs]' \ +'--v8-flags=[Set V8 command line options (for help: --v8-flags=--help)]' \ +'--seed=[Seed Math.random()]' \ +'-o+[Output file (defaults to $PWD/)]' \ +'--output=[Output file (defaults to $PWD/)]' \ +'--target=[Target OS architecture]: :(x86_64-unknown-linux-gnu x86_64-pc-windows-msvc x86_64-apple-darwin aarch64-apple-darwin)' \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'--no-remote[Do not resolve remote modules]' \ +'--no-check[Skip type checking modules]' \ +'--lock-write[Write lock file (use with --lock)]' \ +'--allow-hrtime[Allow high resolution time measurement]' \ +'-A[Allow all permissions]' \ +'--allow-all[Allow all permissions]' \ +'--prompt[Fallback to prompt if required permission wasn'\''t passed]' \ +'--cached-only[Require that remote dependencies are already cached]' \ +'--enable-testing-features-do-not-use[INTERNAL: Enable internal features used during integration testing]' \ +'--compat[Node compatibility mode. Currently only enables built-in node modules like '\''fs'\'' and globals like '\''process'\''.]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +':script_arg -- Script arg:_files' \ +&& ret=0 +;; +(completions) +_arguments "${_arguments_options[@]}" \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +':shell:(zsh bash fish powershell elvish)' \ +&& ret=0 +;; +(coverage) +_arguments "${_arguments_options[@]}" \ +'--ignore=[Ignore coverage files]' \ +'*--include=[Include source files in the report]' \ +'*--exclude=[Exclude source files from the report]' \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'--lcov[Output coverage report in lcov format]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +':files:_files' \ +&& ret=0 +;; +(doc) +_arguments "${_arguments_options[@]}" \ +'--import-map=[Load import map file]' \ +'-r+[Reload source code cache (recompile TypeScript)]' \ +'--reload=[Reload source code cache (recompile TypeScript)]' \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'--json[Output documentation in JSON format]' \ +'--private[Output private documentation]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +'::source_file:_files' \ +'::filter -- Dot separated path to symbol:_files' \ +&& ret=0 +;; +(eval) +_arguments "${_arguments_options[@]}" \ +'--import-map=[Load import map file]' \ +'-c+[Load configuration file]' \ +'--config=[Load configuration file]' \ +'-r+[Reload source code cache (recompile TypeScript)]' \ +'--reload=[Reload source code cache (recompile TypeScript)]' \ +'--lock=[Check the specified lock file]' \ +'--cert=[Load certificate authority from PEM encoded file]' \ +'--inspect=[Activate inspector on host:port (default: 127.0.0.1:9229)]' \ +'--inspect-brk=[Activate inspector on host:port and break at start of user script]' \ +'--location=[Value of '\''globalThis.location'\'' used by some web APIs]' \ +'--v8-flags=[Set V8 command line options (for help: --v8-flags=--help)]' \ +'--seed=[Seed Math.random()]' \ +'--ext=[Set standard input (stdin) content type]: :(ts tsx js jsx)' \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'--no-remote[Do not resolve remote modules]' \ +'--no-check[Skip type checking modules]' \ +'--lock-write[Write lock file (use with --lock)]' \ +'--cached-only[Require that remote dependencies are already cached]' \ +'--enable-testing-features-do-not-use[INTERNAL: Enable internal features used during integration testing]' \ +'--compat[Node compatibility mode. Currently only enables built-in node modules like '\''fs'\'' and globals like '\''process'\''.]' \ +'-T[Treat eval input as TypeScript]' \ +'--ts[Treat eval input as TypeScript]' \ +'-p[print result to stdout]' \ +'--print[print result to stdout]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +':code_arg -- Code arg:_files' \ +&& ret=0 +;; +(fmt) +_arguments "${_arguments_options[@]}" \ +'-c+[Load configuration file]' \ +'--config=[Load configuration file]' \ +'--ext=[Set standard input (stdin) content type]: :(ts tsx js jsx md json jsonc)' \ +'--ignore=[Ignore formatting particular source files]' \ +'--options-line-width=[Define maximum line width. Defaults to 80.]' \ +'--options-indent-width=[Define indentation width. Defaults to 2.]' \ +'--options-prose-wrap=[Define how prose should be wrapped. Defaults to always.]: :(always never preserve)' \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'--check[Check if the source files are formatted]' \ +'--watch[UNSTABLE: Watch for file changes and restart process automatically]' \ +'--options-use-tabs[Use tabs instead of spaces for indentation. Defaults to false.]' \ +'--options-single-quote[Use single quotes. Defaults to false.]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +'::files:_files' \ +&& ret=0 +;; +(info) +_arguments "${_arguments_options[@]}" \ +'-r+[Reload source code cache (recompile TypeScript)]' \ +'--reload=[Reload source code cache (recompile TypeScript)]' \ +'--cert=[Load certificate authority from PEM encoded file]' \ +'--location=[Show files used for origin bound APIs like the Web Storage API when running a script with '\''--location='\'']' \ +'--import-map=[Load import map file]' \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'--no-check[Skip type checking modules]' \ +'--json[UNSTABLE: Outputs the information in JSON format]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +'::file:_files' \ +&& ret=0 +;; +(install) +_arguments "${_arguments_options[@]}" \ +'--import-map=[Load import map file]' \ +'-c+[Load configuration file]' \ +'--config=[Load configuration file]' \ +'-r+[Reload source code cache (recompile TypeScript)]' \ +'--reload=[Reload source code cache (recompile TypeScript)]' \ +'--lock=[Check the specified lock file]' \ +'--cert=[Load certificate authority from PEM encoded file]' \ +'--allow-read=[Allow file system read access]' \ +'--allow-write=[Allow file system write access]' \ +'--allow-net=[Allow network access]' \ +'--unsafely-ignore-certificate-errors=[DANGER: Disables verification of TLS certificates]' \ +'--allow-env=[Allow environment access]' \ +'--allow-run=[Allow running subprocesses]' \ +'--allow-ffi=[Allow loading dynamic libraries]' \ +'--inspect=[Activate inspector on host:port (default: 127.0.0.1:9229)]' \ +'--inspect-brk=[Activate inspector on host:port and break at start of user script]' \ +'--location=[Value of '\''globalThis.location'\'' used by some web APIs]' \ +'--v8-flags=[Set V8 command line options (for help: --v8-flags=--help)]' \ +'--seed=[Seed Math.random()]' \ +'-n+[Executable file name]' \ +'--name=[Executable file name]' \ +'--root=[Installation root]' \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'--no-remote[Do not resolve remote modules]' \ +'--no-check[Skip type checking modules]' \ +'--lock-write[Write lock file (use with --lock)]' \ +'--allow-hrtime[Allow high resolution time measurement]' \ +'-A[Allow all permissions]' \ +'--allow-all[Allow all permissions]' \ +'--prompt[Fallback to prompt if required permission wasn'\''t passed]' \ +'--cached-only[Require that remote dependencies are already cached]' \ +'--enable-testing-features-do-not-use[INTERNAL: Enable internal features used during integration testing]' \ +'--compat[Node compatibility mode. Currently only enables built-in node modules like '\''fs'\'' and globals like '\''process'\''.]' \ +'-f[Forcefully overwrite existing installation]' \ +'--force[Forcefully overwrite existing installation]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +':cmd:_files' \ +&& ret=0 +;; +(uninstall) +_arguments "${_arguments_options[@]}" \ +'--root=[Installation root]' \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +':name:_files' \ +&& ret=0 +;; +(lsp) +_arguments "${_arguments_options[@]}" \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +&& ret=0 +;; +(lint) +_arguments "${_arguments_options[@]}" \ +'(--rules)--rules-tags=[Use set of rules with a tag]' \ +'(--rules)--rules-include=[Include lint rules]' \ +'(--rules)--rules-exclude=[Exclude lint rules]' \ +'-c+[Load configuration file]' \ +'--config=[Load configuration file]' \ +'--ignore=[Ignore linting particular source files]' \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'--rules[List available rules]' \ +'--json[Output lint result in JSON format]' \ +'--watch[UNSTABLE: Watch for file changes and restart process automatically]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +'::files:_files' \ +&& ret=0 +;; +(repl) +_arguments "${_arguments_options[@]}" \ +'--import-map=[Load import map file]' \ +'-c+[Load configuration file]' \ +'--config=[Load configuration file]' \ +'-r+[Reload source code cache (recompile TypeScript)]' \ +'--reload=[Reload source code cache (recompile TypeScript)]' \ +'--lock=[Check the specified lock file]' \ +'--cert=[Load certificate authority from PEM encoded file]' \ +'--inspect=[Activate inspector on host:port (default: 127.0.0.1:9229)]' \ +'--inspect-brk=[Activate inspector on host:port and break at start of user script]' \ +'--location=[Value of '\''globalThis.location'\'' used by some web APIs]' \ +'--v8-flags=[Set V8 command line options (for help: --v8-flags=--help)]' \ +'--seed=[Seed Math.random()]' \ +'--eval=[Evaluates the provided code when the REPL starts.]' \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'--no-remote[Do not resolve remote modules]' \ +'--no-check[Skip type checking modules]' \ +'--lock-write[Write lock file (use with --lock)]' \ +'--cached-only[Require that remote dependencies are already cached]' \ +'--enable-testing-features-do-not-use[INTERNAL: Enable internal features used during integration testing]' \ +'--compat[Node compatibility mode. Currently only enables built-in node modules like '\''fs'\'' and globals like '\''process'\''.]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +&& ret=0 +;; +(run) +_arguments "${_arguments_options[@]}" \ +'--import-map=[Load import map file]' \ +'-c+[Load configuration file]' \ +'--config=[Load configuration file]' \ +'-r+[Reload source code cache (recompile TypeScript)]' \ +'--reload=[Reload source code cache (recompile TypeScript)]' \ +'--lock=[Check the specified lock file]' \ +'--cert=[Load certificate authority from PEM encoded file]' \ +'--allow-read=[Allow file system read access]' \ +'--allow-write=[Allow file system write access]' \ +'--allow-net=[Allow network access]' \ +'--unsafely-ignore-certificate-errors=[DANGER: Disables verification of TLS certificates]' \ +'--allow-env=[Allow environment access]' \ +'--allow-run=[Allow running subprocesses]' \ +'--allow-ffi=[Allow loading dynamic libraries]' \ +'--inspect=[Activate inspector on host:port (default: 127.0.0.1:9229)]' \ +'--inspect-brk=[Activate inspector on host:port and break at start of user script]' \ +'--location=[Value of '\''globalThis.location'\'' used by some web APIs]' \ +'--v8-flags=[Set V8 command line options (for help: --v8-flags=--help)]' \ +'--seed=[Seed Math.random()]' \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'--no-remote[Do not resolve remote modules]' \ +'--no-check[Skip type checking modules]' \ +'--lock-write[Write lock file (use with --lock)]' \ +'--allow-hrtime[Allow high resolution time measurement]' \ +'-A[Allow all permissions]' \ +'--allow-all[Allow all permissions]' \ +'--prompt[Fallback to prompt if required permission wasn'\''t passed]' \ +'--cached-only[Require that remote dependencies are already cached]' \ +'--enable-testing-features-do-not-use[INTERNAL: Enable internal features used during integration testing]' \ +'--compat[Node compatibility mode. Currently only enables built-in node modules like '\''fs'\'' and globals like '\''process'\''.]' \ +'(--inspect --inspect-brk)--watch[UNSTABLE: Watch for file changes and restart process automatically]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +':script_arg -- Script arg:_files' \ +&& ret=0 +;; +(test) +_arguments "${_arguments_options[@]}" \ +'--import-map=[Load import map file]' \ +'-c+[Load configuration file]' \ +'--config=[Load configuration file]' \ +'-r+[Reload source code cache (recompile TypeScript)]' \ +'--reload=[Reload source code cache (recompile TypeScript)]' \ +'--lock=[Check the specified lock file]' \ +'--cert=[Load certificate authority from PEM encoded file]' \ +'--allow-read=[Allow file system read access]' \ +'--allow-write=[Allow file system write access]' \ +'--allow-net=[Allow network access]' \ +'--unsafely-ignore-certificate-errors=[DANGER: Disables verification of TLS certificates]' \ +'--allow-env=[Allow environment access]' \ +'--allow-run=[Allow running subprocesses]' \ +'--allow-ffi=[Allow loading dynamic libraries]' \ +'--inspect=[Activate inspector on host:port (default: 127.0.0.1:9229)]' \ +'--inspect-brk=[Activate inspector on host:port and break at start of user script]' \ +'--location=[Value of '\''globalThis.location'\'' used by some web APIs]' \ +'--v8-flags=[Set V8 command line options (for help: --v8-flags=--help)]' \ +'--seed=[Seed Math.random()]' \ +'--ignore=[Ignore files]' \ +'--fail-fast=[Stop after N errors. Defaults to stopping after first failure.]' \ +'--filter=[Run tests with this string or pattern in the test name]' \ +'--shuffle=[(UNSTABLE): Shuffle the order in which the tests are run]' \ +'(--inspect --inspect-brk)--coverage=[UNSTABLE: Collect coverage profile data into DIR]' \ +'-j+[Number of parallel workers, defaults to # of CPUs when no value is provided. Defaults to 1 when the option is not present.]' \ +'--jobs=[Number of parallel workers, defaults to # of CPUs when no value is provided. Defaults to 1 when the option is not present.]' \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'--no-remote[Do not resolve remote modules]' \ +'--no-check[Skip type checking modules]' \ +'--lock-write[Write lock file (use with --lock)]' \ +'--allow-hrtime[Allow high resolution time measurement]' \ +'-A[Allow all permissions]' \ +'--allow-all[Allow all permissions]' \ +'--prompt[Fallback to prompt if required permission wasn'\''t passed]' \ +'--cached-only[Require that remote dependencies are already cached]' \ +'--enable-testing-features-do-not-use[INTERNAL: Enable internal features used during integration testing]' \ +'--compat[Node compatibility mode. Currently only enables built-in node modules like '\''fs'\'' and globals like '\''process'\''.]' \ +'--no-run[Cache test modules, but don'\''t run tests]' \ +'--doc[UNSTABLE: type check code blocks]' \ +'--allow-none[Don'\''t return error code if no test files are found]' \ +'(--no-run --coverage)--watch[UNSTABLE: Watch for file changes and restart process automatically]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +'::files -- List of file names to run:_files' \ +'::script_arg -- Script arg:_files' \ +&& ret=0 +;; +(types) +_arguments "${_arguments_options[@]}" \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +&& ret=0 +;; +(upgrade) +_arguments "${_arguments_options[@]}" \ +'--version=[The version to upgrade to]' \ +'--output=[The path to output the updated version to]' \ +'--cert=[Load certificate authority from PEM encoded file]' \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'--dry-run[Perform all checks without replacing old exe]' \ +'-f[Replace current exe even if not out-of-date]' \ +'--force[Replace current exe even if not out-of-date]' \ +'--canary[Upgrade to canary builds]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +&& ret=0 +;; +(help) +_arguments "${_arguments_options[@]}" \ +'-L+[Set log level]: :(debug info)' \ +'--log-level=[Set log level]: :(debug info)' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--unstable[Enable unstable features and APIs]' \ +'-q[Suppress diagnostic output]' \ +'--quiet[Suppress diagnostic output]' \ +&& ret=0 +;; + esac + ;; +esac +} + +(( $+functions[_deno_commands] )) || +_deno_commands() { + local commands; commands=( + "bundle:Bundle module and dependencies into single file" \ +"cache:Cache the dependencies" \ +"compile:UNSTABLE: Compile the script into a self contained executable" \ +"completions:Generate shell completions" \ +"coverage:Print coverage reports" \ +"doc:Show documentation for a module" \ +"eval:Eval script" \ +"fmt:Format source files" \ +"info:Show info about cache or info related to source file" \ +"install:Install script as an executable" \ +"uninstall:Uninstall a script previously installed with deno install" \ +"lsp:Start the language server" \ +"lint:Lint source files" \ +"repl:Read Eval Print Loop" \ +"run:Run a JavaScript or TypeScript program" \ +"test:Run tests" \ +"types:Print runtime TypeScript declarations" \ +"upgrade:Upgrade deno executable to given version" \ +"help:Prints this message or the help of the given subcommand(s)" \ + ) + _describe -t commands 'deno commands' commands "$@" +} +(( $+functions[_deno__bundle_commands] )) || +_deno__bundle_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno bundle commands' commands "$@" +} +(( $+functions[_deno__cache_commands] )) || +_deno__cache_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno cache commands' commands "$@" +} +(( $+functions[_deno__compile_commands] )) || +_deno__compile_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno compile commands' commands "$@" +} +(( $+functions[_deno__completions_commands] )) || +_deno__completions_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno completions commands' commands "$@" +} +(( $+functions[_deno__coverage_commands] )) || +_deno__coverage_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno coverage commands' commands "$@" +} +(( $+functions[_deno__doc_commands] )) || +_deno__doc_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno doc commands' commands "$@" +} +(( $+functions[_deno__eval_commands] )) || +_deno__eval_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno eval commands' commands "$@" +} +(( $+functions[_deno__fmt_commands] )) || +_deno__fmt_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno fmt commands' commands "$@" +} +(( $+functions[_deno__help_commands] )) || +_deno__help_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno help commands' commands "$@" +} +(( $+functions[_deno__info_commands] )) || +_deno__info_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno info commands' commands "$@" +} +(( $+functions[_deno__install_commands] )) || +_deno__install_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno install commands' commands "$@" +} +(( $+functions[_deno__lint_commands] )) || +_deno__lint_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno lint commands' commands "$@" +} +(( $+functions[_deno__lsp_commands] )) || +_deno__lsp_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno lsp commands' commands "$@" +} +(( $+functions[_deno__repl_commands] )) || +_deno__repl_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno repl commands' commands "$@" +} +(( $+functions[_deno__run_commands] )) || +_deno__run_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno run commands' commands "$@" +} +(( $+functions[_deno__test_commands] )) || +_deno__test_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno test commands' commands "$@" +} +(( $+functions[_deno__types_commands] )) || +_deno__types_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno types commands' commands "$@" +} +(( $+functions[_deno__uninstall_commands] )) || +_deno__uninstall_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno uninstall commands' commands "$@" +} +(( $+functions[_deno__upgrade_commands] )) || +_deno__upgrade_commands() { + local commands; commands=( + + ) + _describe -t commands 'deno upgrade commands' commands "$@" +} + +_deno "$@" \ No newline at end of file diff --git a/zsh/customizations/zsh_aliases.zsh b/zsh/customizations/zsh_aliases.zsh index fd490a1..d58749f 100644 --- a/zsh/customizations/zsh_aliases.zsh +++ b/zsh/customizations/zsh_aliases.zsh @@ -64,11 +64,13 @@ function reload_zsh() function dock() { xrandr --output DP-1 --auto --left-of eDP-1 + pactl set-card-profile alsa_card.pci-0000_00_1f.3 output:hdmi-stereo-extra1+input:analog-stereo } function dock_off() { xrandr --output DP-1 --off + pactl set-card-profile alsa_card.pci-0000_00_1f.3 output:analog-stereo+input:analog-stereo } # Check if the git repository is fully synced. diff --git a/zsh/ohmyzsh b/zsh/ohmyzsh index 19f9b6f..22c11da 160000 --- a/zsh/ohmyzsh +++ b/zsh/ohmyzsh @@ -1 +1 @@ -Subproject commit 19f9b6f1ade7788b07480be685cf3fcb117cad84 +Subproject commit 22c11da108764336d92d03d3113c1f486cdb5911 diff --git a/zsh/zshrc.zsh b/zsh/zshrc.zsh index ce2b605..89eb5d6 100644 --- a/zsh/zshrc.zsh +++ b/zsh/zshrc.zsh @@ -72,7 +72,7 @@ ZSH_CUSTOM=${__COMMON_CONFIGS}/zsh/customizations # Custom plugins may be added to $ZSH_CUSTOM/plugins/ # Example format: plugins=(rails git textmate ruby lighthouse) # Add wisely, as too many plugins slow down shell startup. -plugins=(git zlong_alert) +plugins=(git zlong_alert deno) source $ZSH/oh-my-zsh.sh # User configuration