commit 86e4d39a37da6ad3503ea11df7b2d32a34cb2f68
parent 556b7b78eb47ebae0948e4f31696b66d0c978356
Author: Dasho <git@dasho.dev>
Date: Thu, 29 Jan 2026 02:24:02 +0000
🚀 feat(cli): add vi mode to zsh, add notify and noice to neovim
Diffstat:
| M | config/nvim/init.lua | | | 78 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- |
| M | zsh/zshrc | | | 26 | ++++++++++++++++---------- |
2 files changed, 93 insertions(+), 11 deletions(-)
diff --git a/config/nvim/init.lua b/config/nvim/init.lua
@@ -1,5 +1,11 @@
-- Neovim init.lua
+-- Disable unused providers
+vim.g.loaded_perl_provider = 0
+vim.g.loaded_ruby_provider = 0
+vim.g.loaded_node_provider = 0
+vim.g.loaded_python3_provider = 0
+
-- Basic options
vim.opt.number = true -- enable absolute line numbers
vim.opt.relativenumber = true -- enable relative line numbers
@@ -152,7 +158,7 @@ require('lazy').setup({
event = { 'BufReadPost', 'BufNewFile' },
config = function()
require('nvim-treesitter.configs').setup {
- ensure_installed = { 'lua', 'python', 'javascript', 'go', 'rust' },
+ ensure_installed = { 'lua', 'python', 'javascript', 'go', 'rust', 'regex', 'bash' },
highlight = { enable = true },
indent = { enable = true },
}
@@ -290,6 +296,76 @@ require('lazy').setup({
require('toggleterm').setup(opts) -- apply settings
end,
},
+
+ -- Notifications
+ {
+ 'rcarriga/nvim-notify',
+ event = 'VeryLazy',
+ config = function()
+ local notify = require('notify')
+ notify.setup({
+ background_colour = '#000000',
+ stages = 'fade',
+ timeout = 3000,
+ })
+ vim.notify = notify
+ end,
+ },
+
+ -- Todo comments
+ {
+ 'folke/todo-comments.nvim',
+ event = 'VeryLazy',
+ dependencies = { 'nvim-lua/plenary.nvim' },
+ config = function()
+ require('todo-comments').setup({
+ signs = true,
+ sign_priority = 8,
+ keywords = {
+ FIX = { icon = ' ', color = 'error' },
+ TODO = { icon = ' ', color = 'info' },
+ HACK = { icon = ' ', color = 'warning' },
+ WARN = { icon = ' ', color = 'warning', alt = { 'WARNING', 'XXX' } },
+ PERF = { icon = ' ', alt = { 'OPTIM', 'PERFORMANCE', 'OPTIMIZE' } },
+ NOTE = { icon = ' ', color = 'hint', alt = { 'INFO' } },
+ },
+ highlight = {
+ pattern = [[.*<(KEYWORDS)\s*:]],
+ keyword = 'wide',
+ },
+ })
+ end,
+ },
+
+ -- Noice UI
+ {
+ 'folke/noice.nvim',
+ event = 'VeryLazy',
+ dependencies = {
+ 'MunifTanjim/nui.nvim',
+ 'rcarriga/nvim-notify',
+ },
+ config = function()
+ require('noice').setup({
+ lsp = {
+ override = {
+ ['vim.lsp.util.convert_input_to_markdown_lines'] = true,
+ ['vim.lsp.util.stylize_markdown'] = true,
+ ['cmp.entry.get_documentation'] = true,
+ },
+ },
+ presets = {
+ bottom_search = true,
+ command_palette = true,
+ long_message_to_split = true,
+ inc_rename = false,
+ lsp_doc_border = false,
+ },
+ })
+ end,
+ },
+}, {
+ rocks = { enabled = false }, -- Disable luarocks since no plugins need it
})
local map = vim.keymap.set
diff --git a/zsh/zshrc b/zsh/zshrc
@@ -61,7 +61,7 @@ commit() {
# Types with emojis
local -a types
types=(
- "✨ feat"
+ "🚀 feat"
"🐛 fix"
"📝 docs"
"🎨 style"
@@ -208,11 +208,11 @@ ZSH_THEME="robbyrussell"
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
-# ENABLE_CORRECTION="true"
+ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
-# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
+COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# COMPLETION_WAITING_DOTS="true"
@@ -237,7 +237,7 @@ ZSH_THEME="robbyrussell"
# 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=(fzf git)
+plugins=(fzf zsh-vi-mode git)
source $ZSH/oh-my-zsh.sh
@@ -287,7 +287,7 @@ alias ..="cd .."
alias ...="cd ../.."
alias bhcli="/home/dasho/dev/bhcli-new/target/release/bhcli --refresh-rate 2 -m"
-alias bhcli2="/home/dasho/dev/bhcli-new/target/release/bhcli --refresh-rate 2 --url http://blkh4ylofapg42tj6ht565klld5i42dhjtysvsnnswte4xt4uvnfj5qd.onion -m"
+alias bhcli2="/home/dasho/dev/bhcli-new/target/release/bhcli --refresh-rate 2 --url http://blkh4ylofapg42tj6ht565klld5i42dhjtysvsnnswte4xt4uvnfj5qd.onion --page-php index.php -m"
alias 404="/home/dasho/dev/bhcli-new/target/release/bhcli --refresh-rate 2 --url https://4-0-4.io/chat/min"
alias 404tor="/home/dasho/dev/bhcli-new/target/release/bhcli --refresh-rate 2 --url http://4o4o4hn4hsujpnbsso7tqigujuokafxys62thulbk2k3mf46vq22qfqd.onion/chat/min"
alias tb="cd /home/dasho/Downloads/tor-browser && ./start-tor-browser.desktop"
@@ -332,11 +332,11 @@ alias -g L="| less"
alias -g H="| head"
# Source and export variables from ~/.env
-if [ -f ~/.env ]; then
- set -a
- source ~/.env
- set +a
-fi
+# if [ -f ~/.env ]; then
+ # set -a
+ # source ~/.env
+ # set +a
+# fi
export PATH=$HOME/.local/bin:$PATH
export PATH="$HOME/.config/emacs/bin:$PATH"
export PATH="$HOME/Applications/halloy/bin:$PATH"
@@ -357,3 +357,9 @@ bindkey '^Xl' clear_buffer_screen
# exec zellij attach --create main
# fi
# --- End Auto-start Zellij ---
+
+# Carapace setup
+autoload -U compinit && compinit
+export CARAPACE_BRIDGES='zsh,fish,bash,inshellisense' # optional
+zstyle ':completion:*' format $'\e[2;37mCompleting %d\e[m'
+source <(carapace _carapace)