chore: add fzf-tab and removed plugins
authorPass Automated Testing Suite <Pass-Automated-Testing-Suite@zx2c4.com>
Wed, 20 Oct 2021 21:11:58 +0000 (23:11 +0200)
committerPass Automated Testing Suite <Pass-Automated-Testing-Suite@zx2c4.com>
Wed, 20 Oct 2021 21:11:58 +0000 (23:11 +0200)
.config/nvim/init.lua
.config/zsh/.zshenv
.config/zsh/.zshrc

index a725335..3fd231f 100644 (file)
@@ -21,26 +21,27 @@ require('packer').startup( function()
   use 'tpope/vim-rhubarb'            -- Fugitive-companion to interact with github
   use 'tpope/vim-commentary'         -- "gc" to comment visual regions/lines
   use 'tpope/vim-surround'         -- "gc" to comment visual regions/lines
+  use 'tpope/vim-obsession'
   use 'ludovicchabant/vim-gutentags' -- Automatic tags management
   use 'tpope/vim-sleuth'
   use 'tpope/vim-dispatch'
+
   -- UI to select things (files, grep results, open buffers...)
-  use {
-    'nvim-telescope/telescope.nvim', 
-    requires = {
-      {'nvim-lua/popup.nvim'},
-      {'nvim-lua/plenary.nvim'}
-    } 
+  use { 'nvim-telescope/telescope.nvim', requires = { 'nvim-lua/plenary.nvim' } }
+  use { 
+    'nvim-telescope/telescope-fzf-native.nvim', 
+    run = 'make', 
+    requires = { 'nvim-telescope/telescope.nvim' } 
   }
   use 'itchyny/lightline.vim'        -- Fancier statusline
+  use 'shaunsingh/nord.nvim'
+
   -- Add git related info in the signs columns and popups
   use {'lewis6991/gitsigns.nvim', requires = {'nvim-lua/plenary.nvim'} }
 
   use {'nvim-treesitter/nvim-treesitter', run = ':TSUpdate'}
   use 'nvim-treesitter/nvim-treesitter-textobjects'
-  use 'windwp/nvim-autopairs'
-  use 'windwp/nvim-ts-autotag'
-  use 'jiangmiao/auto-pairs'
+  use 'romgrk/nvim-treesitter-context'
   use 'neovim/nvim-lspconfig'        -- Collection of configurations for built-in LSP client
   use {
     'hrsh7th/nvim-cmp', -- Autocompletion plugin
@@ -53,17 +54,14 @@ require('packer').startup( function()
       {'rafamadriz/friendly-snippets'},
     }
   }
+  use 'rust-lang/rust.vim'
   use 'simrat39/rust-tools.nvim'
-  use 'mfussenegger/nvim-dap'
+  -- use 'mfussenegger/nvim-dap'
 
 end)
 
---Incremental live completion
-vim.o.inccommand = "nosplit"
-
 --Set highlight on search
 vim.o.hlsearch = false
-vim.o.incsearch = true
 
 --Make line numbers default
 vim.wo.number = true
@@ -71,14 +69,11 @@ vim.wo.number = true
 --Do not save when switching buffers
 vim.o.hidden = true
 
---Enable mouse mode
--- vim.o.mouse = "a"
-
 --Enable break indent
 vim.o.breakindent = true
 
 --Save undo history
-vim.cmd[[set undofile]]
+vim.opt.undofile = true
 
 --Case insensitive searching UNLESS /C or capital in search
 vim.o.ignorecase = true
@@ -88,17 +83,7 @@ vim.o.smartcase = true
 vim.o.updatetime = 250
 vim.wo.signcolumn="yes"
 
---Set colorscheme (order is important here)
--- vim.o.termguicolors = true
-vim.cmd[[colorscheme koehler]]
-
 --Set statusbar
-vim.g.lightline = { 
-  -- colorscheme = 'koehler';
-  active = { left = { { 'mode', 'paste' }, { 'gitbranch', 'readonly', 'filename', 'modified' } } };
-  component_function = { gitbranch = 'fugitive#head', };
-}
-
 --Remap space as leader key
 vim.api.nvim_set_keymap('', '<Space>', '<Nop>', { noremap = true, silent=true})
 vim.g.mapleader = " "
@@ -108,11 +93,16 @@ vim.g.maplocalleader = " "
 vim.api.nvim_set_keymap('n', 'k', "v:count == 0 ? 'gk' : 'k'", { noremap=true, expr = true, silent = true})
 vim.api.nvim_set_keymap('n', 'j', "v:count == 0 ? 'gj' : 'j'", {noremap= true, expr = true, silent = true})
 
---Remap escape to leave terminal mode
-vim.api.nvim_set_keymap('t', '<Esc>', [[<c-\><c-n>]], {noremap = true})
-
---Add map to enter paste mode
-vim.o.pastetoggle="<F3>"
+-- Highlight on yank
+vim.api.nvim_exec(
+  [[
+  augroup YankHighlight
+    autocmd!
+    autocmd TextYankPost * silent! lua vim.highlight.on_yank()
+  augroup end
+  ]],
+  false
+)
 
 -- Gitsigns
 require('gitsigns').setup {
@@ -134,10 +124,14 @@ require('telescope').setup {
        ["<C-d>"] = false,
       },
     },
-    generic_sorter =  require'telescope.sorters'.get_fzy_sorter,
-    file_sorter =  require'telescope.sorters'.get_fzy_sorter,
+    -- generic_sorter =  require'telescope.sorters'.get_fzf_sorter,
+    -- file_sorter =  require'telescope.sorters'.get_fzf_sorter,
   }
 }
+
+-- Telescope with fzf native
+require('telescope').load_extension('fzf')
+
 --Add leader shortcuts
 vim.api.nvim_set_keymap('n', '<leader>f', [[<cmd>lua require('telescope.builtin').git_files()<cr>]], { noremap = true, silent = true})
 vim.api.nvim_set_keymap('n', '<leader>F', [[<cmd>lua require('telescope.builtin').find_files()<cr>]], { noremap = true, silent = true})
@@ -156,7 +150,7 @@ vim.api.nvim_set_keymap('n', '<leader>gt', [[<cmd>lua require('telescope.builtin
 vim.api.nvim_set_keymap('n', '<leader>gp', [[<cmd>lua require('telescope.builtin').git_bcommits()<cr>]], { noremap = true, silent = true})
 
 vim.api.nvim_set_keymap('n', '<leader>ca', [[<cmd>lua require('telescope.builtin').lsp_code_actions()<cr>]], { noremap = true, silent = true})
-vim.api.nvim_set_keymap('s', '<leader>ca', [[<cmd>lua require('telescope.builtin').lsp_range_code_actions()<cr>]], { noremap = true, silent = true})
+vim.api.nvim_set_keymap('v', '<leader>ca', [[<cmd>lua require('telescope.builtin').lsp_range_code_actions()<cr>]], { noremap = true, silent = true})
 vim.api.nvim_set_keymap('n', '<leader>gr', [[<cmd>lua require('telescope.builtin').lsp_references()<cr>]], { noremap = true, silent = true})
 vim.api.nvim_set_keymap('n', '<leader>gs', [[<cmd>lua require('telescope.builtin').lsp_workspace_symbols()<cr>]], { noremap = true, silent = true})
 vim.api.nvim_set_keymap('n', '<leader>gS', [[<cmd>lua require('telescope.builtin').lsp_document_symbols()<cr>]], { noremap = true, silent = true})
@@ -164,86 +158,9 @@ vim.api.nvim_set_keymap('n', '<leader>gd', [[<cmd>lua require('telescope.builtin
 vim.api.nvim_set_keymap('n', '<leader>gD', [[<cmd>lua require('telescope.builtin').lsp_document_diagnostics()<cr>]], { noremap = true, silent = true})
 vim.api.nvim_set_keymap('n', '<leader>gi', [[<cmd>lua require('telescope.builtin').lsp_definitions()<cr>]], { noremap = true, silent = true})
 
--- Change preview window location
-vim.g.splitbelow = true
-
--- Highlight on yank
-vim.api.nvim_exec(
-  [[
-  augroup YankHighlight
-    autocmd!
-    autocmd TextYankPost * silent! lua vim.highlight.on_yank()
-  augroup end
-  ]],
-  false
-)
-
--- LSP settings
-local nvim_lsp = require('lspconfig')
-
--- Use an on_attach function to only map the following keys
--- after the language server attaches to the current buffer
-local on_attach = function(client, bufnr)
-  local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
-  local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
-
-  --Enable completion triggered by <c-x><c-o>
-  buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
-
-  -- Mappings.
-  local opts = { noremap=true, silent=true }
-
-  -- See `:help vim.lsp.*` for documentation on any of the below functions
-  -- buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts)
-  -- buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts)
-  buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts)
-  -- buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
-  buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
-  buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
-  buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
-  buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
-  buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
-  buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
-  buf_set_keymap('n', '<space>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
-  buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
-  buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
-  buf_set_keymap('n', '<space>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)
-  buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
-  buf_set_keymap("n", "<space>dc", "<cmd>Dispatch cargo clippy<CR>", opts)
-
-end
-
--- nvim-cmp supports additional completion capabilities
-local capabilities = vim.lsp.protocol.make_client_capabilities()
-capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities)
-
-
--- Enable the following language servers
--- local servers = { 'clangd', 'rust_analyzer', 'bashls', 'pyright', 'tsserver', "cssls", "html" }
-local servers = { 'clangd', 'pyright', 'bashls', 'tsserver', "cssls", "html" }
-for _, lsp in ipairs(servers) do
-  nvim_lsp[lsp].setup { 
-    on_attach = on_attach,
-    capabilities = capabilities,
-    flags = {
-      debounce_text_changes = 150,
-    }
-  }
-end
-
-local rustopts = {
-  -- see https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#rust_analyzer
-  server = {
-    on_attach = on_attach,
-    flags = {
-      debounce_text_changes = 150,
-    },
-  },
-}
-
-require('rust-tools').setup(rustopts)
+vim.api.nvim_set_keymap('n', '<leader>r', [[<cmd>source $MYVIMRC<cr>]], { noremap = true, silent = true})
 
--- Treesitter setup
+-- Treesitter configuration
 require('nvim-treesitter.configs').setup {
   highlight = {
     enable = true, -- false will disable the whole extension
@@ -295,7 +212,11 @@ require('nvim-treesitter.configs').setup {
   },
 }
 
-vim.o.completeopt="menuone,noselect"
+-- set foldmethod=expr
+-- set foldexpr=nvim_treesitter#foldexpr()
+
+-- Set completeopt to have a better completion experience
+vim.o.completeopt="menu,menuone,noselect"
 
 local cmp = require'cmp'
 cmp.setup({
@@ -308,10 +229,10 @@ cmp.setup({
     ['<C-p>'] = cmp.mapping.select_prev_item(),
     ['<C-n>'] = cmp.mapping.select_next_item(),
     -- Add tab support
-    ['<S-Tab>'] = cmp.mapping.select_prev_item(),
-    ['<Tab>'] = cmp.mapping.select_next_item(),
-    ['<C-d>'] = cmp.mapping.scroll_docs(-4),
-    ['<C-f>'] = cmp.mapping.scroll_docs(4),
+    -- ['<S-Tab>'] = cmp.mapping.select_prev_item(),
+    -- ['<Tab>'] = cmp.mapping.select_next_item(),
+    ['<C-u>'] = cmp.mapping.scroll_docs(-4),
+    ['<C-d>'] = cmp.mapping.scroll_docs(4),
     ['<C-Space>'] = cmp.mapping.complete(),
     ['<C-e>'] = cmp.mapping.close(),
     ['<CR>'] = cmp.mapping.confirm({
@@ -329,8 +250,7 @@ cmp.setup({
 
 -- autopairs setup
 -- require("nvim-autopairs.completion.cmp").setup({
---   check_ts = true,
---   map_cr = false, --  map <CR> on insert mode
+--   map_cr = true, --  map <CR> on insert mode
 --   map_complete = true, -- it will auto insert `(` (map_char) after select function or method item
 --   auto_select = true, -- automatically select the first item
 --   insert = false, -- use insert confirm behavior instead of replace
@@ -340,6 +260,67 @@ cmp.setup({
 --   }
 -- })
 
+
+-- LSP settings
+local nvim_lsp = require('lspconfig')
+
+-- Use an on_attach function to only map the following keys
+-- after the language server attaches to the current buffer
+local on_attach = function(client, bufnr)
+  local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
+  local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
+
+  --Enable completion triggered by <c-x><c-o>
+  buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
+
+  -- Mappings.
+  local opts = { noremap=true, silent=true }
+
+  -- See `:help vim.lsp.*` for documentation on any of the below functions
+  -- buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts)
+  -- buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts)
+  buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts)
+  -- buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
+  buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
+  buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
+  buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
+  buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
+  buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
+  buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
+  buf_set_keymap('n', '<space>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
+  buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
+  buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
+  buf_set_keymap('n', '<space>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)
+  buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
+  -- buf_set_keymap("n", "<space>dc", "<cmd>Dispatch cargo clippy<CR>", opts)
+
+end
+
+-- nvim-cmp supports additional completion capabilities
+local capabilities = vim.lsp.protocol.make_client_capabilities()
+
+
+-- Enable the following language servers
+-- local servers = { 'clangd', 'rust_analyzer', 'bashls', 'pyright', 'tsserver', "cssls", "html" }
+local servers = { 'clangd', 'pyright', 'bashls', 'tsserver', "cssls", "html" }
+for _, lsp in ipairs(servers) do
+  nvim_lsp[lsp].setup { 
+    on_attach = on_attach,
+    -- capabilities = capabilities,
+    capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities)
+  }
+end
+
+local rustopts = {
+  -- see https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#rust_analyzer
+  server = {
+    on_attach = on_attach,
+    capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities),
+  },
+}
+
+require('rust-tools').setup(rustopts)
+
 vim.api.nvim_exec(
   [[
   autocmd BufWritePre *.rs lua vim.lsp.buf.formatting()
@@ -347,7 +328,6 @@ vim.api.nvim_exec(
   true
 )
 
-
 vim.api.nvim_exec([[
 " Expand
 imap <expr> <C-j>   vsnip#expandable()  ? '<Plug>(vsnip-expand)'         : '<C-j>'
@@ -373,3 +353,40 @@ xmap        s   <Plug>(vsnip-select-text)
 nmap        S   <Plug>(vsnip-cut-text)
 xmap        S   <Plug>(vsnip-cut-text)
 ]], true)
+
+if vim.env.TERM == 'screen' or vim.env.TERM == 'linux' then
+  vim.cmd[[colorscheme koehler]]
+  vim.g.lightline = { 
+    active = { left = { { 'mode', 'paste' }, { 'gitbranch', 'readonly', 'filename', 'modified' } } };
+    component_function = { gitbranch = 'fugitive#head', };
+  }
+end
+
+if vim.env.TERM == 'screen-256color' or vim.env.TERM == 'xterm-256color' then
+  vim.o.termguicolors = true
+  vim.g.nord_disable_background = true
+  require('nord').set()
+  vim.api.nvim_exec([[
+  let g:lightline = {
+      \ 'colorscheme': 'nord',
+      \ 'active': {
+      \   'left': [ ['mode', 'paste'],
+      \             ['fugitive', 'readonly', 'filename', 'modified'] ],
+      \ },
+      \ 'component': {
+      \   'readonly': '%{&filetype=="help"?"":&readonly?"\ue0a2":""}',
+      \   'modified': '%{&filetype=="help"?"":&modified?"\ue0a0":&modifiable?"":"-"}',
+      \   'fugitive': '%{exists("*fugitive#head")?fugitive#head():""}'
+      \ },
+      \ 'component_visible_condition': {
+      \   'readonly': '(&filetype!="help"&& &readonly)',
+      \   'modified': '(&filetype!="help"&&(&modified||!&modifiable))',
+      \   'fugitive': '(exists("*fugitive#head") && ""!=fugitive#head())'
+      \ },
+      \ 'separator': { 'left': "\ue0b0", 'right': "\ue0b2" },
+      \ 'subseparator': { 'left': "\ue0b1", 'right': "\ue0b3" }
+      \ }
+  ]], true)
+end
+
+
index c612c6d..1ee5171 100644 (file)
@@ -59,6 +59,8 @@ export XAUTHORITY="${XDG_RUNTIME_DIR:-/run/user/$USER}/Xauthority"
 
 export MANPAGER="sh -c 'col -bx | bat -l man -p'"
 
+source $ZDOTDIR/.zshenv.private
+
 # # PATH
 typeset -U PATH path
 PATH="$PATH:$HOME/.local/bin"
index 9de24b5..dad8114 100644 (file)
@@ -1,11 +1,6 @@
-# zmodload zsh/zprof
 # Source alias
 [ -f $XDG_CONFIG_HOME/shell/aliasrc ] && . $XDG_CONFIG_HOME/shell/aliasrc
 
-# # Enable colors and change prompt:
-# autoload -U colors && colors # Load colors
-# PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b "
-
 stty stop undef                # Disable ctrl-s to freeze terminal.
 
 # On demand rehash
@@ -41,57 +36,15 @@ zstyle ':completion:*' menu select
 # zmodload zsh/complist
 _comp_options+=(globdots)              # Include hidden files.
 
-# # Basic auto/tab complete:
-# autoload -U compinit
-# zstyle ':completion:*' menu select
-# zmodload zsh/complist
-# compinit
-# _comp_options+=(globdots)            # Include hidden files.
-
-# vi mode
-# bindkey -v
-# export KEYTIMEOUT=1
-
-# Use vim keys in tab complete menu:
-# bindkey -M menuselect 'h' vi-backward-char
-# bindkey -M menuselect 'k' vi-up-line-or-history
-# bindkey -M menuselect 'l' vi-forward-char
-# bindkey -M menuselect 'j' vi-down-line-or-history
-# bindkey -v '^?' backward-delete-char
-
-# Change cursor shape for different vi modes.
-# function zle-keymap-select {
-#   if [[ ${KEYMAP} == vicmd ]] ||
-#      [[ $1 = 'block' ]]; then
-#     echo -ne '\e[1 q'
-#   elif [[ ${KEYMAP} == main ]] ||
-#        [[ ${KEYMAP} == viins ]] ||
-#        [[ ${KEYMAP} = '' ]] ||
-#        [[ $1 = 'beam' ]]; then
-#     echo -ne '\e[5 q'
-#   fi
-# }
-# zle -N zle-keymap-select
-# zle-line-init() {
-#     zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere)
-#     echo -ne "\e[5 q"
-# }
-# zle -N zle-line-init
-# echo -ne '\e[5 q' # Use beam shape cursor on startup.
-# preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt.
+PROMPT=' %c %# '
 
-
-# # Git prompt
-# autoload -Uz vcs_info
-# precmd_vcs_info() { vcs_info }
-# precmd_functions+=( precmd_vcs_info )
-# setopt prompt_subst
-# RPROMPT=\$vcs_info_msg_0_
-# zstyle ':vcs_info:git:*' formats '%b'
-# # zstyle ':vcs_info:*' enable git
-
-# https://github.com/softmoth/zsh-vim-mode
-# . $ZDOTDIR/plugins/zsh-vim-mode.plugin.zsh
+# Git prompt
+autoload -Uz vcs_info
+precmd_vcs_info() { vcs_info }
+precmd_functions+=( precmd_vcs_info )
+setopt prompt_subst
+RPROMPT=\$vcs_info_msg_0_
+zstyle ':vcs_info:git:*' formats '%b'
 
 eval "$(zoxide init zsh)"
 
@@ -102,15 +55,12 @@ gpg-connect-agent updatestartuptty /bye >/dev/null
 export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
 gpgconf --launch gpg-agent
 
+# Should be before other plugins
+. /usr/share/zsh/plugins/fzf-tab-git/fzf-tab.zsh
+zstyle ':fzf-tab:*' fzf-command ftb-tmux-popup
+
 . /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
 bindkey '^ ' autosuggest-accept
 
 # Should be last
-# . $ZDOTDIR/zsh-vi-mode/zsh-vi-mode.plugin.zsh
 . /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
-. /usr/share/zsh/plugins/zsh-vi-mode/zsh-vi-mode.zsh
-
-# fpath=($ZDOTDIR/zsh-completions/src $fpath)
-
-eval "$(starship init zsh)"
-# zprof