diff --git a/neovim/.config/nvim/init.lua b/neovim/.config/nvim/init.lua index 635b178..832153f 100644 --- a/neovim/.config/nvim/init.lua +++ b/neovim/.config/nvim/init.lua @@ -122,8 +122,6 @@ map('', 'h', ':nohls', optsWithDesc("clear highlighting")) --open file browser with leader+t map('n', 't', ':NvimTreeToggle', optsWithDesc("toggle file browser")) --open terminal with ctrl-\ ---open symbols-outline with leader+o -map('n', 'o', ':SymbolsOutline', optsWithDesc("toggle LSP symbol outline")) --telescope stuff -- setup leader-f prefix in whitch-key wk.register { diff --git a/neovim/.config/nvim/lua/packages.lua b/neovim/.config/nvim/lua/packages.lua index 9706d9d..17e6214 100644 --- a/neovim/.config/nvim/lua/packages.lua +++ b/neovim/.config/nvim/lua/packages.lua @@ -180,24 +180,43 @@ require('lazy').setup({ } }, { - 'simrat39/symbols-outline.nvim', + + "hedyhli/outline.nvim", + lazy = true, + cmd = { "Outline", "OutlineOpen" }, + keys = { -- Example mapping to toggle outline + { "o", "Outline", desc = "Toggle outline" }, + }, opts = { - highlight_hovered_item = true, - show_guides = true, - auto_preview = false, - position = 'right', - relative_width = true, - width = 30, - auto_close = false, - show_numbers = false, - show_relative_numbers = false, - show_symbol_details = true, - preview_bg_highlight = 'Pmenu', - autofold_depth = nil, - auto_unfold_hover = true, - fold_markers = { '', '' }, - wrap = false, - } + outline_items = { + -- Show extra details with the symbols (lsp dependent) as virtual next + show_symbol_details = true, + -- Show corresponding line numbers of each symbol on the left column as + -- virtual text, for quick navigation when not focused on outline. + -- Why? See this comment: + -- https://github.com/simrat39/symbols-outline.nvim/issues/212#issuecomment-1793503563 + show_symbol_lineno = true, + -- Whether to highlight the currently hovered symbol and all direct parents + highlight_hovered_item = true, + -- Whether to automatically set cursor location in outline to match + -- location in code when focus is in code. If disabled you can use + -- `:OutlineFollow[!]` from any window or `` from outline window to + -- trigger this manually. + auto_set_cursor = true, + -- Autocmd events to automatically trigger these operations. + auto_update_events = { + -- Includes both setting of cursor and highlighting of hovered item. + -- The above two options are respected. + -- This can be triggered manually through `follow_cursor` lua API, + -- :OutlineFollow command, or . + follow = { 'CursorMoved' }, + -- Re-request symbols from the provider. + -- This can be triggered manually through `refresh_outline` lua API, or + -- :OutlineRefresh command. + items = { 'InsertLeave', 'WinEnter', 'BufEnter', 'BufWinEnter', 'TabEnter', 'BufWritePost' }, + }, + }, + }, }, { 'stevearc/dressing.nvim', diff --git a/zsh/.zshrc b/zsh/.zshrc index df89462..b8f8c93 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -13,15 +13,6 @@ #set important shell variables - #fancy way of testing if a command exists - ruby --version &>/dev/null && export PATH="$PATH:$(ruby -e 'puts Gem.user_dir' 2> /dev/null)/bin/" - #test that these nonstandard paths exist before adding to PATH. - testPath="$HOME/.local/bin" - [ -d "$testPath" ] && export PATH="$PATH:$testPath" - export PATH="$PATH:/opt" - testPath="$HOME/.cargo/bin" - [ -d "$testPath" ] && export PATH="$PATH:$testPath" - export PATH="$PATH:/opt" #set default editor and pager. export EDITOR=nvim export VISUAL=nvim @@ -36,6 +27,13 @@ export TIMEFMT="%J %*U user %*S system %P cpu %*E total" export PIPENV_VENV_IN_PROJECT=true export POETRY_VIRTUALENVS_IN_PROJECT=true + #test that these nonstandard paths exist before adding to PATH. + testPath="$HOME/.local/bin" + [ -d "$testPath" ] && export PATH="$PATH:$testPath" + export PATH="$PATH:/opt" + testPath="$HOME/.cargo/bin" + [ -d "$testPath" ] && export PATH="$PATH:$testPath" + export PATH="$PATH:/opt" #prompt autoload -U promptinit @@ -184,7 +182,12 @@ testPath="$HOME/.fzf.zsh" [ -f "$testPath" ] && source $testPath -#pyenv - export PYENV_ROOT="$HOME/.pyenv" - [[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH" - eval "$(pyenv init -)" +#check for existence of pyenv before setting it up. + if (($+commands[pyenv])); then + export PYENV_ROOT="$HOME/.pyenv" + [[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH" + eval "$(pyenv init -)" + fi + +#fancy way of testing if a command exists +ruby --version &>/dev/null && export PATH="$PATH:$(ruby -e 'puts Gem.user_dir' 2> /dev/null)/bin/"