Compare commits

...

8 Commits

Author SHA1 Message Date
a3f35b2d18 feat(fish): add nickeb96/puffer-fish
Signed-off-by: Ismo Vuorinen <ismo@ivuorinen.net>
2025-06-11 13:40:36 +03:00
90020a4998 chore(config): zed config update 2025-06-11 08:18:33 +03:00
0f806c172d chore(tmux): move resurrect and continuum last 2025-06-11 08:18:33 +03:00
renovate[bot]
e8eb9b98b2 feat(github-action): update softprops/action-gh-release (v2.2.2 → v2.3.2)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 00:09:23 +00:00
7e0a88cf8f feat(nvim): add m4xshen/hardtime.nvim
Signed-off-by: Ismo Vuorinen <ismo@ivuorinen.net>
2025-06-10 12:01:19 +03:00
f72f57ebf0 chore(nvim): remove volar, prefix lsp commands with leader
Signed-off-by: Ismo Vuorinen <ismo@ivuorinen.net>
2025-06-10 12:00:49 +03:00
b5e56e2cbb feat(config): fish: meaningful-ooo/sponge
Signed-off-by: Ismo Vuorinen <ismo@ivuorinen.net>
2025-06-10 09:57:18 +03:00
github-actions[bot]
179938132c chore: update pre-commit hooks (#120) 2025-06-09 08:06:27 +03:00
20 changed files with 224 additions and 25 deletions

View File

@@ -40,7 +40,7 @@ jobs:
- name: Create release
if: steps.daily-version.outputs.created
uses: softprops/action-gh-release@da05d552573ad5aba039eaac05058a918a7bf631 # v2.2.2
uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2.3.2
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag_name: ${{ steps.daily-version.outputs.version }}

View File

@@ -49,7 +49,7 @@ repos:
- id: actionlint
- repo: https://github.com/renovatebot/pre-commit-hooks
rev: 40.36.8
rev: 40.48.4
hooks:
- id: renovate-config-validator

View File

@@ -0,0 +1,25 @@
status is-interactive || exit
function _puffer_fish_key_bindings --on-variable fish_key_bindings
set -l modes
if test "$fish_key_bindings" = fish_default_key_bindings
set modes default insert
else
set modes insert default
end
bind --mode $modes[1] . _puffer_fish_expand_dots
bind --mode $modes[1] ! _puffer_fish_expand_bang
bind --mode $modes[1] '$' _puffer_fish_expand_lastarg
bind --mode $modes[2] --erase . ! '$'
end
_puffer_fish_key_bindings
set -l uninstall_event puffer_fish_key_bindings_uninstall
function _$uninstall_event --on-event $uninstall_event
bind -e .
bind -e !
bind -e '$'
end

View File

@@ -0,0 +1,52 @@
# Sponge version
set --global sponge_version 1.1.0
# Allow to repeat previous command by default
if not set --query --universal sponge_delay
set --universal sponge_delay 2
end
# Purge entries both after `sponge_delay` entries and on exit by default
if not set --query --universal sponge_purge_only_on_exit
set --universal sponge_purge_only_on_exit false
end
# Add default filters
if not set --query --universal sponge_filters
set --universal sponge_filters sponge_filter_failed sponge_filter_matched
end
# Don't filter out commands that already have been in the history by default
if not set --query --universal sponge_allow_previously_successful
set --universal sponge_allow_previously_successful true
end
# Consider `0` the only successful exit code by default
if not set --query --universal sponge_successful_exit_codes
set --universal sponge_successful_exit_codes 0
end
# No active regex patterns by default
if not set --query --universal sponge_regex_patterns
set --universal sponge_regex_patterns
end
# Attach event handlers
functions --query \
_sponge_on_prompt \
_sponge_on_preexec \
_sponge_on_postexec \
_sponge_on_exit
# Initialize empty state for the first run
function _sponge_install --on-event sponge_install
set --global _sponge_current_command ''
set --global _sponge_current_command_exit_code 0
set --global _sponge_current_command_previously_in_history false
end
# Clean up variables
function _sponge_uninstall --on-event sponge_uninstall
_sponge_clear_state
set --erase sponge_version
end

View File

@@ -5,3 +5,5 @@ halostatue/fish-macos@v7
danhper/fish-ssh-agent
halostatue/fish-brew@v3
edc/bass
meaningful-ooo/sponge
nickeb96/puffer-fish

View File

@@ -0,0 +1,9 @@
function _puffer_fish_expand_bang
switch (commandline -t)
case '!'
commandline -t $history[1]
case '*'
commandline -i '!'
end
end

View File

@@ -0,0 +1,9 @@
function _puffer_fish_expand_dots -d 'expand ... to ../.. etc'
set -l cmd (commandline --cut-at-cursor)
set -l split (string split -- ' ' $cmd)
if string match --quiet --regex -- '^(\.\./)*\.\.$' $split[-1]
commandline --insert '/..'
else
commandline --insert '.'
end
end

View File

@@ -0,0 +1,9 @@
function _puffer_fish_expand_lastarg
switch (commandline -t)
case '!'
commandline -t ""
commandline -f history-token-search-backward
case '*'
commandline -i '$'
end
end

View File

@@ -0,0 +1,5 @@
function _sponge_clear_state
set --erase --global _sponge_current_command
set --erase --global _sponge_current_command_exit_code
set --erase --global _sponge_current_command_previously_in_history
end

View File

@@ -0,0 +1,3 @@
function _sponge_on_exit --on-event fish_exit
sponge_delay=0 _sponge_remove_from_history
end

View File

@@ -0,0 +1,24 @@
function _sponge_on_postexec --on-event fish_postexec
set --global _sponge_current_command_exit_code $status
# Remove command from the queue if it's been added previously
if set --local index (contains --index -- $_sponge_current_command $_sponge_queue)
set --erase _sponge_queue[$index]
end
# Ignore empty commands
if test -n $_sponge_current_command
set --local command ''
# Run filters
for filter in $sponge_filters
if $filter \
$_sponge_current_command \
$_sponge_current_command_exit_code \
$_sponge_current_command_previously_in_history
set command $_sponge_current_command
break
end
end
set --prepend --global _sponge_queue $command
end
end

View File

@@ -0,0 +1,16 @@
function _sponge_on_preexec --on-event fish_preexec \
--argument-names command
_sponge_clear_state
set --global _sponge_current_command $command
builtin history search --case-sensitive --exact --max=1 --null $command \
| read --local --null found_entries
# If a command is in the history and in the queue, ignore it, like if it wasnt in the history
if test (count $found_entries) -ne 0; and not contains $command $_sponge_queue
set --global _sponge_current_command_previously_in_history true
else
set --global _sponge_current_command_previously_in_history false
end
end

View File

@@ -0,0 +1,5 @@
function _sponge_on_prompt --on-event fish_prompt
if test $sponge_purge_only_on_exit = false
_sponge_remove_from_history
end
end

View File

@@ -0,0 +1,9 @@
function _sponge_remove_from_history
while test (count $_sponge_queue) -gt $sponge_delay
builtin history delete --case-sensitive --exact -- $_sponge_queue[-1]
set --erase _sponge_queue[-1]
end
builtin history save
end

View File

@@ -0,0 +1,11 @@
function sponge_filter_failed \
--argument-names command exit_code previously_in_history
if test $previously_in_history = true -a $sponge_allow_previously_successful = true
return 1
end
if contains $exit_code $sponge_successful_exit_codes
return 1
end
end

View File

@@ -0,0 +1,11 @@
function sponge_filter_matched \
--argument-names command
for pattern in $sponge_regex_patterns
if string match --regex --quiet $pattern -- $command
return
end
end
return 1
end

View File

@@ -38,41 +38,46 @@ return {
-- Rename the variable under your cursor.
-- Most Language Servers support renaming across files, etc.
map('grn', vim.lsp.buf.rename, '[R]e[n]ame')
map('<leader>grn', vim.lsp.buf.rename, '[R]e[n]ame')
-- Execute a code action, usually your cursor needs to be on top of an error
-- or a suggestion from your LSP for this to activate.
map('gra', vim.lsp.buf.code_action, '[G]oto Code [A]ction', { 'n', 'x' })
map(
'<leader>gra',
vim.lsp.buf.code_action,
'[G]oto Code [A]ction',
{ 'n', 'x' }
)
-- Find references for the word under your cursor.
map('grr', tsb.lsp_references, '[G]oto [R]eferences')
map('<leader>grr', tsb.lsp_references, '[G]oto [R]eferences')
-- Jump to the implementation of the word under your cursor.
-- Useful when your language has ways of declaring types without
-- an actual implementation.
map('gri', tsb.lsp_implementations, '[G]oto [I]mplementation')
map('<leader>gri', tsb.lsp_implementations, '[G]oto [I]mplementation')
-- Jump to the definition of the word under your cursor.
-- This is where a variable was first declared, or where a function is
-- defined, etc. To jump back, press <C-t>.
map('grd', tsb.lsp_definitions, '[G]oto [D]efinition')
map('<leader>grd', tsb.lsp_definitions, '[G]oto [D]efinition')
-- WARN: This is not Goto Definition, this is Goto Declaration.
-- For example, in C this would take you to the header.
map('grD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
map('<leader>grD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
-- Fuzzy find all the symbols in your current document.
-- Symbols are things like variables, functions, types, etc.
map('gO', tsb.lsp_document_symbols, 'Open Document Symbols')
map('<leader>gO', tsb.lsp_document_symbols, 'Open Document Symbols')
-- Fuzzy find all the symbols in your current workspace.
-- Similar to document symbols, except searches over your entire project.
map('gW', tsb.lsp_dynamic_workspace_symbols, 'Open Workspace Symbols')
map('<leader>gW', tsb.lsp_dynamic_workspace_symbols, 'Open Workspace Symbols')
-- Jump to the type of the word under your cursor.
-- Useful when you're not sure what type a variable is and you want to see
-- the definition of its *type*, not where it was *defined*.
map('grt', tsb.lsp_type_definitions, '[G]oto [T]ype Definition')
map('<leader>grt', tsb.lsp_type_definitions, '[G]oto [T]ype Definition')
-- This function resolves a difference between neovim nightly
-- (version 0.11) and stable (version 0.10)
@@ -227,17 +232,6 @@ return {
tailwindcss = {},
terraformls = {},
ts_ls = {},
volar = {
settings = {
typescript = {
inlayHints = {
enumMemberValues = { enabled = true },
functionLikeReturnTypes = { enabled = true },
propertyDeclarationTypes = { enabled = true },
},
},
},
},
vimls = {},
eslint = {},
yamlls = {
@@ -270,6 +264,7 @@ return {
require('mason-lspconfig').setup {
ensure_installed = {}, -- explicitly set to an empty table
automatic_enable = true,
automatic_installation = false,
handlers = {
function(server_name)

View File

@@ -61,4 +61,13 @@ return {
-- Neovim plugin for locking a buffer to a window
-- https://github.com/stevearc/stickybuf.nvim
{ 'stevearc/stickybuf.nvim', opts = {} },
-- Break bad habits, master Vim motions
-- https://github.com/m4xshen/hardtime.nvim
{
'm4xshen/hardtime.nvim',
lazy = false,
dependencies = { 'MunifTanjim/nui.nvim' },
opts = {},
},
}

View File

@@ -160,11 +160,11 @@ run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-sensible/sensible.tmux"
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-window-name/tmux_window_name.tmux"
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-mode-indicator/mode_indicator.tmux"
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-suspend/suspend.tmux"
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-continuum/continuum.tmux"
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-resurrect/resurrect.tmux"
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-sessionist/sessionist.tmux"
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-yank/yank.tmux"
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-current-pane-hostname/current_pane_hostname.tmux"
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-fzf-url/fzf-url.tmux"
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-resurrect/resurrect.tmux"
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-continuum/continuum.tmux"
# run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-dark-notify/main.tmux"

View File

@@ -1,8 +1,13 @@
{
"context_servers": {
"github-activity-summarizer": {
"settings": {}
}
},
"telemetry": {
"metrics": false
},
"assistant": {
"agent": {
"always_allow_tool_actions": false,
"default_model": {
"provider": "copilot_chat",