feat: improvements
This commit is contained in:
parent
3565ecfa98
commit
5ed3b264b1
185
config/fish/completions/bun.fish
Normal file
185
config/fish/completions/bun.fish
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
# This is terribly complicated
|
||||||
|
# It's because:
|
||||||
|
# 1. bun run has to have dynamic completions
|
||||||
|
# 2. there are global options
|
||||||
|
# 3. bun {install add remove} gets special options
|
||||||
|
# 4. I don't know how to write fish completions well
|
||||||
|
# Contributions very welcome!!
|
||||||
|
|
||||||
|
function __fish__get_bun_bins
|
||||||
|
string split ' ' (bun getcompletes b)
|
||||||
|
end
|
||||||
|
|
||||||
|
function __fish__get_bun_scripts
|
||||||
|
set -lx SHELL bash
|
||||||
|
set -lx MAX_DESCRIPTION_LEN 40
|
||||||
|
string trim (string split '\n' (string split '\t' (bun getcompletes z)))
|
||||||
|
end
|
||||||
|
|
||||||
|
function __fish__get_bun_packages
|
||||||
|
if test (commandline -ct) != ""
|
||||||
|
set -lx SHELL fish
|
||||||
|
string split ' ' (bun getcompletes a (commandline -ct))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function __history_completions
|
||||||
|
set -l tokens (commandline --current-process --tokenize)
|
||||||
|
history --prefix (commandline) | string replace -r \^$tokens[1]\\s\* "" | string replace -r \^$tokens[2]\\s\* "" | string split ' '
|
||||||
|
end
|
||||||
|
|
||||||
|
function __fish__get_bun_bun_js_files
|
||||||
|
string split ' ' (bun getcompletes j)
|
||||||
|
end
|
||||||
|
|
||||||
|
set -l bun_install_boolean_flags yarn production optional development no-save dry-run force no-cache silent verbose global
|
||||||
|
set -l bun_install_boolean_flags_descriptions "Write a yarn.lock file (yarn v1)" "Don't install devDependencies" "Add dependency to optionalDependencies" "Add dependency to devDependencies" "Don't update package.json or save a lockfile" "Don't install anything" "Always request the latest versions from the registry & reinstall all dependencies" "Ignore manifest cache entirely" "Don't output anything" "Excessively verbose logging" "Use global folder"
|
||||||
|
|
||||||
|
set -l bun_builtin_cmds_without_run dev create help bun upgrade discord install remove add init pm x
|
||||||
|
set -l bun_builtin_cmds_accepting_flags create help bun upgrade discord run init link unlink pm x
|
||||||
|
|
||||||
|
function __bun_complete_bins_scripts --inherit-variable bun_builtin_cmds_without_run -d "Emit bun completions for bins and scripts"
|
||||||
|
# Do nothing if we already have a builtin subcommand,
|
||||||
|
# or any subcommand other than "run".
|
||||||
|
if __fish_seen_subcommand_from $bun_builtin_cmds_without_run
|
||||||
|
or not __fish_use_subcommand && not __fish_seen_subcommand_from run
|
||||||
|
return
|
||||||
|
end
|
||||||
|
# Do we already have a bin or script subcommand?
|
||||||
|
set -l bins (__fish__get_bun_bins)
|
||||||
|
if __fish_seen_subcommand_from $bins
|
||||||
|
return
|
||||||
|
end
|
||||||
|
# Scripts have descriptions appended with a tab separator.
|
||||||
|
# Strip off descriptions for the purposes of subcommand testing.
|
||||||
|
set -l scripts (__fish__get_bun_scripts)
|
||||||
|
if __fish_seen_subcommand_from (string split \t -f 1 -- $scripts)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
# Emit scripts.
|
||||||
|
for script in $scripts
|
||||||
|
echo $script
|
||||||
|
end
|
||||||
|
# Emit binaries and JS files (but only if we're doing `bun run`).
|
||||||
|
if __fish_seen_subcommand_from run
|
||||||
|
for bin in $bins
|
||||||
|
echo "$bin"\t"package bin"
|
||||||
|
end
|
||||||
|
for file in (__fish__get_bun_bun_js_files)
|
||||||
|
echo "$file"\t"Bun.js"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
# Clear existing completions
|
||||||
|
complete -e -c bun
|
||||||
|
|
||||||
|
# Dynamically emit scripts and binaries
|
||||||
|
complete -c bun -f -a "(__bun_complete_bins_scripts)"
|
||||||
|
|
||||||
|
# Complete flags if we have no subcommand or a flag-friendly one.
|
||||||
|
set -l flag_applies "__fish_use_subcommand; or __fish_seen_subcommand_from $bun_builtin_cmds_accepting_flags"
|
||||||
|
complete -c bun \
|
||||||
|
-n $flag_applies --no-files -s 'u' -l 'origin' -r -d 'Server URL. Rewrites import paths'
|
||||||
|
complete -c bun \
|
||||||
|
-n $flag_applies --no-files -s 'p' -l 'port' -r -d 'Port number to start server from'
|
||||||
|
complete -c bun \
|
||||||
|
-n $flag_applies --no-files -s 'd' -l 'define' -r -d 'Substitute K:V while parsing, e.g. --define process.env.NODE_ENV:\"development\"'
|
||||||
|
complete -c bun \
|
||||||
|
-n $flag_applies --no-files -s 'e' -l 'external' -r -d 'Exclude module from transpilation (can use * wildcards). ex: -e react'
|
||||||
|
complete -c bun \
|
||||||
|
-n $flag_applies --no-files -l 'use' -r -d 'Use a framework (ex: next)'
|
||||||
|
complete -c bun \
|
||||||
|
-n $flag_applies --no-files -l 'hot' -r -d 'Enable hot reloading in Bun\'s JavaScript runtime'
|
||||||
|
|
||||||
|
# Complete dev and create as first subcommand.
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_use_subcommand" -a 'dev' -d 'Start dev server'
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_use_subcommand" -a 'create' -f -d 'Create a new project from a template'
|
||||||
|
|
||||||
|
# Complete "next" and "react" if we've seen "create".
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_seen_subcommand_from create" -a 'next' -d 'new Next.js project'
|
||||||
|
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_seen_subcommand_from create" -a 'react' -d 'new React project'
|
||||||
|
|
||||||
|
# Complete "upgrade" as first subcommand.
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_use_subcommand" -a 'upgrade' -d 'Upgrade bun to the latest version' -x
|
||||||
|
# Complete "-h/--help" unconditionally.
|
||||||
|
complete -c bun \
|
||||||
|
-s "h" -l "help" -d 'See all commands and flags' -x
|
||||||
|
|
||||||
|
# Complete "-v/--version" if we have no subcommand.
|
||||||
|
complete -c bun \
|
||||||
|
-n "not __fish_use_subcommand" -l "version" -s "v" -d 'Bun\'s version' -x
|
||||||
|
|
||||||
|
# Complete additional subcommands.
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_use_subcommand" -a 'discord' -d 'Open bun\'s Discord server' -x
|
||||||
|
|
||||||
|
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_use_subcommand" -a 'bun' -d 'Generate a new bundle'
|
||||||
|
|
||||||
|
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_seen_subcommand_from bun" -F -d 'Bundle this'
|
||||||
|
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_seen_subcommand_from create; and __fish_seen_subcommand_from react next" -F -d "Create in directory"
|
||||||
|
|
||||||
|
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_use_subcommand" -a 'init' -F -d 'Start an empty Bun project'
|
||||||
|
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_use_subcommand" -a 'install' -f -d 'Install packages from package.json'
|
||||||
|
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_use_subcommand" -a 'add' -F -d 'Add a package to package.json'
|
||||||
|
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_use_subcommand" -a 'remove' -F -d 'Remove a package from package.json'
|
||||||
|
|
||||||
|
|
||||||
|
for i in (seq (count $bun_install_boolean_flags))
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_seen_subcommand_from install add remove" -l "$bun_install_boolean_flags[$i]" -d "$bun_install_boolean_flags_descriptions[$i]"
|
||||||
|
end
|
||||||
|
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_seen_subcommand_from install add remove" -l 'cwd' -d 'Change working directory'
|
||||||
|
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_seen_subcommand_from install add remove" -l 'cache-dir' -d 'Choose a cache directory (default: $HOME/.bun/install/cache)'
|
||||||
|
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_seen_subcommand_from add" -d 'Popular' -a '(__fish__get_bun_packages)'
|
||||||
|
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_seen_subcommand_from add" -d 'History' -a '(__history_completions)'
|
||||||
|
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_seen_subcommand_from pm; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) cache;" -a 'bin ls cache hash hash-print hash-string' -f
|
||||||
|
|
||||||
|
complete -c bun \
|
||||||
|
-n "__fish_seen_subcommand_from pm; and __fish_seen_subcommand_from cache; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts);" -a 'rm' -f
|
||||||
|
|
||||||
|
# Add built-in subcommands with descriptions.
|
||||||
|
complete -c bun -n "__fish_use_subcommand" -a "create" -f -d "Create a new project from a template"
|
||||||
|
complete -c bun -n "__fish_use_subcommand" -a "build bun" --require-parameter -F -d "Transpile and bundle one or more files"
|
||||||
|
complete -c bun -n "__fish_use_subcommand" -a "upgrade" -d "Upgrade Bun"
|
||||||
|
complete -c bun -n "__fish_use_subcommand" -a "run" -d "Run a script or package binary"
|
||||||
|
complete -c bun -n "__fish_use_subcommand" -a "install" -d "Install dependencies from package.json" -f
|
||||||
|
complete -c bun -n "__fish_use_subcommand" -a "remove" -d "Remove a dependency from package.json" -f
|
||||||
|
complete -c bun -n "__fish_use_subcommand" -a "add" -d "Add a dependency to package.json" -f
|
||||||
|
complete -c bun -n "__fish_use_subcommand" -a "init" -d "Initialize a Bun project in this directory" -f
|
||||||
|
complete -c bun -n "__fish_use_subcommand" -a "link" -d "Register or link a local npm package" -f
|
||||||
|
complete -c bun -n "__fish_use_subcommand" -a "unlink" -d "Unregister a local npm package" -f
|
||||||
|
complete -c bun -n "__fish_use_subcommand" -a "pm" -d "Additional package management utilities" -f
|
||||||
|
complete -c bun -n "__fish_use_subcommand" -a "x" -d "Execute a package binary, installing if needed" -f
|
||||||
|
complete -c bun -n "__fish_use_subcommand" -a "outdated" -d "Display the latest versions of outdated dependencies" -f
|
@ -49,3 +49,7 @@ end
|
|||||||
# pnpm end
|
# pnpm end
|
||||||
|
|
||||||
starship init fish | source
|
starship init fish | source
|
||||||
|
|
||||||
|
# bun
|
||||||
|
set --export BUN_INSTALL "$HOME/.bun"
|
||||||
|
set --export PATH $BUN_INSTALL/bin $PATH
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
font-family = "ComicCodeLigatures Nerd Font"
|
font-family = "ComicCodeLigatures Nerd Font"
|
||||||
font-size = 10
|
font-size = 10
|
||||||
|
|
||||||
theme = Adwaita Dark
|
# theme = Adwaita Dark
|
||||||
|
theme = light:Adwaita,dark:Adwaita Dark
|
||||||
fullscreen = true
|
fullscreen = true
|
||||||
window-decoration = false
|
window-decoration = false
|
||||||
|
@ -9,5 +9,6 @@
|
|||||||
"scottmckendry/cyberdream.nvim"
|
"scottmckendry/cyberdream.nvim"
|
||||||
"Shatur/neovim-ayu"
|
"Shatur/neovim-ayu"
|
||||||
"projekt0n/caret.nvim"
|
"projekt0n/caret.nvim"
|
||||||
|
"maxmx03/solarized.nvim"
|
||||||
]
|
]
|
||||||
|
|
||||||
|
49
config/nvim/lazy-lock.json
Normal file
49
config/nvim/lazy-lock.json
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
"LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
|
||||||
|
"barbecue": { "branch": "main", "commit": "cd7e7da622d68136e13721865b4d919efd6325ed" },
|
||||||
|
"caret.nvim": { "branch": "main", "commit": "62a18089e5eedc329dea7fb5f1436d1c1bf672b1" },
|
||||||
|
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
|
||||||
|
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||||
|
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||||
|
"conform.nvim": { "branch": "master", "commit": "70019124aa4f2e6838be9fbd2007f6d13b27a96d" },
|
||||||
|
"cyberdream.nvim": { "branch": "main", "commit": "607878d1eec60870f40ed929d881ca23a62b2b59" },
|
||||||
|
"dracula.nvim": { "branch": "main", "commit": "515acae4fd294fcefa5b15237a333c2606e958d1" },
|
||||||
|
"fidget.nvim": { "branch": "main", "commit": "a0abbf18084b77d28bc70e24752e4f4fd54aea17" },
|
||||||
|
"github-nvim-theme": { "branch": "main", "commit": "c106c9472154d6b2c74b74565616b877ae8ed31d" },
|
||||||
|
"gitsigns.nvim": { "branch": "main", "commit": "0797734e2bf229cc67b05e82a17e22a18f191913" },
|
||||||
|
"hotpot.nvim": { "branch": "main", "commit": "e7322f1a69770b6697bf921bd5cfe39bca760f50" },
|
||||||
|
"indent-blankline.nvim": { "branch": "master", "commit": "7a698a1d7ed755af9f5a88733b23ca246ce2df28" },
|
||||||
|
"lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
|
||||||
|
"lazydev.nvim": { "branch": "main", "commit": "8620f82ee3f59ff2187647167b6b47387a13a018" },
|
||||||
|
"lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" },
|
||||||
|
"luvit-meta": { "branch": "main", "commit": "55709f183b0742a7e4f47688c284f81148ad4dc0" },
|
||||||
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "e942edf5c85b6a2ab74059ea566cac5b3e1514a4" },
|
||||||
|
"mason-tool-installer.nvim": { "branch": "main", "commit": "c5e07b8ff54187716334d585db34282e46fa2932" },
|
||||||
|
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
||||||
|
"mini.nvim": { "branch": "main", "commit": "ecde5ffd9adfd590d5c2d5d35a7f0152def894fc" },
|
||||||
|
"neo-tree.nvim": { "branch": "main", "commit": "e6645ecfcba3e064446a6def1c10d788c9873f51" },
|
||||||
|
"neovim": { "branch": "main", "commit": "42f0724e0bca9f57f0bcfa688787c37b8d4befe8" },
|
||||||
|
"neovim-ayu": { "branch": "master", "commit": "283badaa983234c90e857c12c1f1c18e1544360a" },
|
||||||
|
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
|
||||||
|
"nvim-autopairs": { "branch": "master", "commit": "3d02855468f94bf435db41b661b58ec4f48a06b7" },
|
||||||
|
"nvim-cmp": { "branch": "main", "commit": "8c82d0bd31299dbff7f8e780f5e06d2283de9678" },
|
||||||
|
"nvim-cokeline": { "branch": "main", "commit": "adfd1eb87e0804b6b86126e03611db6f62bb2909" },
|
||||||
|
"nvim-emmet": { "branch": "main", "commit": "cde4fb2968704aae5c18b7f8a9bc2508767bb78d" },
|
||||||
|
"nvim-lspconfig": { "branch": "master", "commit": "339ccc81e08793c3af9b83882a6ebd90c9cc0d3b" },
|
||||||
|
"nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" },
|
||||||
|
"nvim-treesitter": { "branch": "master", "commit": "fd59f984416f696d85119fd4d15ce0965b179944" },
|
||||||
|
"nvim-web-devicons": { "branch": "master", "commit": "aafa5c187a15701a7299a392b907ec15d9a7075f" },
|
||||||
|
"onedarkpro.nvim": { "branch": "main", "commit": "0feb5f55dd777352f2dddd7478dd13d050864ee3" },
|
||||||
|
"plenary.nvim": { "branch": "master", "commit": "3707cdb1e43f5cea73afb6037e6494e7ce847a66" },
|
||||||
|
"resession.nvim": { "branch": "master", "commit": "271a6fd7afa90142be59fca3a5c3b9865e40e6b9" },
|
||||||
|
"solarized.nvim": { "branch": "main", "commit": "c0dfe1cbfabd93b546baf5f1408f5df7e02e2050" },
|
||||||
|
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
|
||||||
|
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||||
|
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||||
|
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
||||||
|
"tokyonight.nvim": { "branch": "main", "commit": "775f82f08a3d1fb55a37fc6d3a4ab10cd7ed8a10" },
|
||||||
|
"vim-colors-xcode": { "branch": "master", "commit": "6d449229bf29176448bd06377689d7a8db0d1bee" },
|
||||||
|
"vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" },
|
||||||
|
"vscode.nvim": { "branch": "main", "commit": "298c5ce4750a256ea208b72d7a472b8824ef2a49" },
|
||||||
|
"which-key.nvim": { "branch": "main", "commit": "1f8d414f61e0b05958c342df9b6a4c89ce268766" }
|
||||||
|
}
|
@ -42,7 +42,7 @@ set-option -g allow-rename off
|
|||||||
set-option -g history-limit 50000
|
set-option -g history-limit 50000
|
||||||
|
|
||||||
# Status bar that doesn't look like it's from 1970
|
# Status bar that doesn't look like it's from 1970
|
||||||
set -g status-style 'bg=#333333 fg=#5eacd3'
|
set -g status-style '#{?client_prefix,bg=green fg=black,bg=black fg=#5eacd3}'
|
||||||
|
|
||||||
# the fish shell
|
# the fish shell
|
||||||
set-option -g default-shell "/usr/bin/fish"
|
set-option -g default-shell "/usr/bin/fish"
|
||||||
|
Loading…
Reference in New Issue
Block a user