Compare commits

...

3 Commits

Author SHA1 Message Date
renovate[bot]
6ea7807718 fix(container): update image python (3.13.2 → 3.13.3) (#97) 2025-04-10 22:14:50 +03:00
6a776bd3dd chore(config): nvim: cleanup and fixes
Signed-off-by: Ismo Vuorinen <ismo@ivuorinen.net>
2025-04-04 16:34:08 +03:00
6ffe581326 feat(config): use nvm with bass, simplify setup
Signed-off-by: Ismo Vuorinen <ismo@ivuorinen.net>
2025-04-04 16:33:32 +03:00
17 changed files with 46 additions and 270 deletions

View File

@@ -1 +1 @@
3.13.2
3.13.3

View File

@@ -1,63 +0,0 @@
# NVM (https://github.com/creationix/nvm) completions for Fish shell
# Inspired on (https://github.com/derekstavis/plugin-nvm)
function __nvm_complete_ls_remote
if not test "$__nvm_ls_remote"
set -g __nvm_ls_remote (nvm ls-remote | grep -Po '(?:iojs-)?v[0-9]+\.[0-9]+\.[0-9]+')
end
printf "%s\n" $__nvm_ls_remote
end
function __nvm_complete_ls
if not test "$__nvm_ls"
set -g __nvm_ls (nvm ls | grep -Po '[[:space:]].\K(v[0-9]+\.[0-9]+\.[0-9]+)')
end
printf "%s\n" $__nvm_ls
end
#Install
complete -f -c nvm -n '__fish_use_subcommand' -a 'install' -d 'Download and install a <version>. Uses .nvmrc if available'
complete -f -c nvm -n "__fish_seen_subcommand_from install" -a "(__nvm_complete_ls_remote)"
complete -f -c nvm -n "__fish_seen_subcommand_from install" -l reinstall-packages-from= -d 'When installing, reinstall packages installed in <node|iojs|node version number>'
complete -f -c nvm -n "__fish_seen_subcommand_from install" -s s -d 'From source'
#Use
complete -f -c nvm -n '__fish_use_subcommand' -a 'use' -d 'Modify PATH to use <version>. Uses .nvmrc if available'
complete -f -c nvm -n "__fish_seen_subcommand_from use" -a "(__nvm_complete_ls)"
complete -f -c nvm -n "__fish_seen_subcommand_from use" -l silent
#Exec
complete -f -c nvm -n '__fish_use_subcommand' -a 'exec' -d 'Run <command> on <version>. Uses .nvmrc if available'
complete -f -c nvm -n "__fish_seen_subcommand_from exec" -a "(__nvm_complete_ls)"
complete -f -c nvm -n "__fish_seen_subcommand_from exec" -l silent
#Run
complete -f -c nvm -n '__fish_use_subcommand' -a 'run' -d 'Run <command> on <version>. Uses .nvmrc if available'
complete -f -c nvm -n "__fish_seen_subcommand_from run" -a "(__nvm_complete_ls)"
complete -f -c nvm -n "__fish_seen_subcommand_from run" -l silent
#Uninstall
complete -f -c nvm -n '__fish_use_subcommand' -a 'uninstall' -d 'Uninstall a version'
complete -f -c nvm -n "__fish_seen_subcommand_from uninstall" -a "(__nvm_complete_ls)"
#Which
complete -f -c nvm -n '__fish_use_subcommand' -a 'which' -d 'Display path to installed node version. Uses .nvmrc if available'
complete -f -c nvm -n "__fish_seen_subcommand_from which" -a "(__nvm_complete_ls)"
#Reinstall-Packages
complete -f -c nvm -n '__fish_use_subcommand' -a 'reinstall-packages' -d 'Reinstall global `npm` packages contained in <version> to current version'
complete -f -c nvm -n "__fish_seen_subcommand_from reinstall-packages" -a "(__nvm_complete_ls)"
#Completions
complete -f -c nvm -n '__fish_use_subcommand' -a 'current' -d 'Display currently activated version'
complete -f -c nvm -n '__fish_use_subcommand' -a 'ls' -d 'List installed versions'
complete -f -c nvm -n '__fish_use_subcommand' -a 'ls-remote' -d 'List remote versions available for install'
complete -f -c nvm -n '__fish_use_subcommand' -a 'version' -d 'Resolve the given description to a single local <version>'
complete -f -c nvm -n '__fish_use_subcommand' -a 'version-remote' -d 'Resolve the given description to a single remote <version>'
complete -f -c nvm -n '__fish_use_subcommand' -a 'deactivate' -d 'Undo effects of `nvm` on current shell'
complete -f -c nvm -n '__fish_use_subcommand' -a 'alias' -d 'Show all aliases beginning with <pattern> or set an alias named <name> pointing to <version>'
complete -f -c nvm -n '__fish_use_subcommand' -a 'unalias' -d 'Deletes the alias named <name>'
complete -f -c nvm -n '__fish_use_subcommand' -a 'unload' -d 'Unload `nvm` from shell'

View File

@@ -22,4 +22,5 @@ type -q rbenv; and source (rbenv init -|psub)
type -q pyenv; and source (pyenv init -|psub)
type -q goenv; and source (goenv init -|psub)
type -q fnm; and fnm env --use-on-cd --shell fish | source
type -q load_nvm; and load_nvm > /dev/stderr

View File

@@ -6,5 +6,3 @@ jgusta/paths
danhper/fish-ssh-agent
halostatue/fish-brew@v3
edc/bass
jorgebucaran/nvm.fish
fabioantunes/fish-nvm

View File

@@ -1,70 +0,0 @@
function __nvm_run
set count (count $argv)
if test "$count" -le 0
echo 'No params'
return 1
end
if test (uname -s) = 'Darwin'; and string match -q "*versions/node/*/bin" $PATH
set -l nvm_node_path (string match "*versions/node/*/bin" $PATH)
set -l nvm_index (contains -i -- $nvm_node_path $PATH)
if test $nvm_index -gt 1
set -gx PATH $nvm_node_path (string match -v $nvm_node_path $PATH)
end
end
function run_command
set stack (status stack-trace | grep called | cut -d " " -f 7)
set count (count $argv)
if type -fq $argv[1]; and test "$stack[1]" != (type -fP $argv[1])
set count (count $argv)
if test "$count" -ge 2
set args $argv[2..-1]
# https://stackoverflow.com/questions/45237675/proxying-arguments-from-one-function-to-a-command/45238056#45238056
eval (string escape -- (type -fP $argv[1]) $args)
else
eval (string escape -- (type -fP $argv[1]))
end
else
echo (set_color -o)"Fish nvm:"(set_color normal) "'$argv[1]' is currently not installed, try running npm i -g $argv[1]"
return 1
end
end
function can_run_command
if type -P $argv[1] > /dev/null 2>&1; or type -P node > /dev/null 2>&1
return
else
return 1
end
end
function run_default
nvm use default > /dev/null
set -gx NVM_HAS_RUN 1
if can_run_command $argv[1]
run_command $argv
end
end
if not test -n "$NVM_HAS_RUN"
if test -f .nvmrc;
set nvm_output (nvm use)
set nvm_status $status
if test $nvm_status -gt 0
echo $nvm_output
end
if test $nvm_status -eq 0; and can_run_command $argv[1]
set -gx NVM_HAS_RUN 1
run_command $argv
end
else
run_default $argv
end
else
run_command $argv
end
end

View File

@@ -0,0 +1,16 @@
function load_nvm --on-variable="PWD"
set -l default_node_version (nvm version default)
set -l node_version (nvm version)
set -l nvmrc_path (nvm_find_nvmrc)
if test -n "$nvmrc_path"
set -l nvmrc_node_version (nvm version (cat $nvmrc_path))
if test "$nvmrc_node_version" = "N/A"
nvm install (cat $nvmrc_path)
else if test "$nvmrc_node_version" != "$node_version"
nvm use $nvmrc_node_version
end
else if test "$node_version" != "$default_node_version"
echo "Reverting to default Node version"
nvm use default
end
end

View File

@@ -1,3 +0,0 @@
function node -d "Server-side JavaScript runtime" -w node
__nvm_run "node" $argv
end

View File

@@ -1,3 +0,0 @@
function npm -d "node package manager" -w npm
__nvm_run "npm" $argv
end

View File

@@ -1,3 +0,0 @@
function npx -d "execute npm package binaries" -w npx
__nvm_run "npx" $argv
end

View File

@@ -1,24 +1,4 @@
function nvm
if not type -q bass
echo 'Bass is not installed please install it running fisher edc/bass'
return
end
set -q NVM_DIR; or set -gx NVM_DIR ~/.nvm
set -q nvm_prefix; or set -gx nvm_prefix $NVM_DIR
bass source $nvm_prefix/nvm.sh --no-use ';' nvm $argv
set bstatus $status
if test $bstatus -gt 0
return $bstatus
end
if test (count $argv) -lt 1
return 0
end
if test $argv[1] = "use"; or test $argv[1] = "install"
set -gx NVM_HAS_RUN 1
end
bass source $NVM_DIR/nvm.sh --no-use ';' nvm $argv
end

View File

@@ -1,49 +0,0 @@
function nvm_alias_command -d "Create an alias command"
function __nvm_alias_output
if test -z "$nvm_alias_output"
echo "/usr/local/bin"
else
echo (string replace -r '/$' '' $nvm_alias_output)
end
end
function __create_alias_command
if test -e "$argv[1]"
set_color yellow
echo "Ignored: $argv[1] (already exists)"
set_color normal
return 0
else
set -l template "__nvm_run \"COMMAND\" \$argv"
printf "#!/usr/bin/env fish\n%s\n" (string replace COMMAND $argv[2] $template) > $argv[1]
if test $status -eq 0
printf "\U2705 %s alias command was created at %s\n" $argv[2] $argv[1]
return (chmod +x $argv[1])
else
printf "\U274C failed creating %s alias command at %s\n" $argv[2] $argv[1]
printf "Probably a permissions problem, try running sudo fish, and then nvm_alias_command\n"
end
end
end
set -l outputPath (__nvm_alias_output)
mkdir -p $outputPath
if test $status -ge 1
printf "\U274C failed creating dir $outputPath."
printf "Probably a permissions problem, try running sudo fish, and then nvm_alias_command\n"
exit 1
end
if test (count $argv) -le 0
set -l aliases node npm npx yarn
for alias in $aliases
__create_alias_command "$outputPath/$alias" $alias
end
else
for arg in $argv
__create_alias_command "$outputPath/$arg" $arg
end
end
end

View File

@@ -1,28 +0,0 @@
function nvm_alias_function -d "Create an alias function"
function __create_alias_function
if test -e "$argv[1]"
set_color yellow
echo "Ignored: $argv[1] (already exists)"
set_color normal
return 0
else
set -l line1 "function COMMAND -w COMMAND"
set -l line2 "__nvm_run \"COMMAND\" \$argv"
echo (string replace -a COMMAND $argv[2] $line1) > $argv[1]
echo (string replace COMMAND $argv[2] $line2) >> $argv[1]
echo "end" >> $argv[1]
return 0
end
end
if test (count $argv) -le 0
set_color yellow
echo "Please specify package(s) name(s)"
set_color normal
return 1
else
for arg in $argv
__create_alias_function "$fish_function_path[1]/$arg.fish" $argv
end
end
end

View File

@@ -0,0 +1,3 @@
function nvm_find_nvmrc
bass source $NVM_DIR/nvm.sh --no-use ';' nvm_find_nvmrc
end

View File

@@ -1,3 +0,0 @@
function yarn -d "yarn package manager" -w yarn
__nvm_run "yarn" $argv
end

View File

@@ -38,7 +38,7 @@ o.scrolloff = 8 -- Show context around cursor
o.sidescrolloff = 8 -- Show context around cursor
o.signcolumn = 'yes' -- Keep signcolumn on by default
o.spell = true -- Enable spell checking
o.spelllang = 'fi,en_us' -- Set the spell checking language
o.spelllang = 'en_gb,en_us' -- Set the spell checking language
o.splitbelow = true -- split to the bottom
o.splitright = true -- vsplit to the right
o.termguicolors = true -- Enable GUI colors

View File

@@ -5,12 +5,13 @@ return {
'folke/snacks.nvim',
priority = 1000,
lazy = false,
---@diagnostic disable-next-line: undefined-doc-name
---@type snacks.Config
opts = {
bigfile = { enabled = true },
input = {
input = { enabled = true },
notifier = {
enabled = true,
timeout = 3000,
},
gitbrowse = { enabled = true },
quickfile = { enabled = true },
@@ -43,6 +44,11 @@ return {
{
'folke/noice.nvim',
event = 'VeryLazy',
dependencies = {
-- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
'MunifTanjim/nui.nvim',
'rcarriga/nvim-notify',
},
opts = {
lsp = {
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
@@ -65,7 +71,10 @@ return {
filter = {
event = 'msg_show',
kind = '',
find = 'written',
any = {
{ find = 'written' },
{ find = '%d of %d --%d%--' },
},
},
opts = { skip = true },
},
@@ -106,14 +115,6 @@ return {
},
},
},
dependencies = {
-- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
'MunifTanjim/nui.nvim',
-- OPTIONAL:
-- `nvim-notify` is only needed, if you want to use the notification view.
-- If not available, we use `mini` as the fallback
'rcarriga/nvim-notify',
},
},
-- A pretty diagnostics, references, telescope results,
@@ -136,7 +137,7 @@ return {
},
modes = {
diagnostics = {
auto_open = true,
auto_open = false,
},
test = {
mode = 'diagnostics',
@@ -144,7 +145,7 @@ return {
type = 'split',
relative = 'win',
position = 'right',
size = 0.3,
size = 0.25,
},
},
cascade = {
@@ -163,13 +164,4 @@ return {
},
},
},
-- Navigate your code with search labels, enhanced
-- character motions and Treesitter integration
-- https://github.com/folke/flash.nvim
{
'folke/flash.nvim',
event = 'VeryLazy',
opts = {},
},
}

View File

@@ -25,6 +25,14 @@ return {
},
}
-- Better Around/Inside textobjects
--
-- Examples:
-- - va) - [V]isually select [A]round [)]paren
-- - yinq - [Y]ank [I]nside [N]ext [Q]uote
-- - ci' - [C]hange [I]nside [']quote
require('mini.ai').setup { n_lines = 500 }
-- Animate common Neovim actions
-- Replaced anuvyklack/windows.nvim
require('mini.animate').setup()