Compare commits
18 commits
Author | SHA1 | Date | |
---|---|---|---|
|
1776bc8edc | ||
|
bde11a8bd6 | ||
|
ca0d4faec4 | ||
|
65290b67f7 | ||
|
c292dd4580 | ||
|
4d410eee9d | ||
|
9aa3dd7cb7 | ||
|
f77c851258 | ||
|
5c82459251 | ||
|
92bc291040 | ||
|
f472d4fad6 | ||
|
0fb906f746 | ||
|
2afcf3205b | ||
|
469ebea279 | ||
|
ba38b7bad1 | ||
|
bfd59534b4 | ||
|
65128a7629 | ||
|
15bcef5ea5 |
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1 +1,3 @@
|
||||||
|
lua/
|
||||||
|
lua_bak/
|
||||||
lazy-lock.json
|
lazy-lock.json
|
||||||
|
|
22
README.md
22
README.md
|
@ -1,24 +1,22 @@
|
||||||
|
# Opinionated configuration for NeoVim, aiming to be powerful whilst being minimal.
|
||||||
<p align="center">
|
|
||||||
<img src="pictures/trixy.jpg" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Trixy is a begginer friendy distro of NeoVim, that aims to be powerful while remaining minimal.
|
|
||||||
|
|
||||||
|
|
||||||
## Notable plugins and features include :
|
## Notable plugins and features include :
|
||||||
- improved camelCase navigation wit w, b, e etc
|
- Whole configuration is written in `fennel` - lisp that compiles into lua
|
||||||
- `hlchunk.nvim` used for highlighting current scope
|
- `lazy.nvim` for plugin management
|
||||||
- `nvim-tree` for file tree view
|
- `tangerine` for fennel compilation
|
||||||
|
- `hibiscus` for neovim fennel macros
|
||||||
|
- `markview.nvim` for amazing markdown previewing
|
||||||
|
- `oil.nvim` for buffer filesystem manipulation
|
||||||
- `lsp-zero` as a language server setup, simply briliant
|
- `lsp-zero` as a language server setup, simply briliant
|
||||||
- ...
|
- ...
|
||||||
|
|
||||||
|
|
||||||
# Installation
|
# Installation
|
||||||
```
|
```
|
||||||
$ git clone https://gitlab.com/sumarac/trixy ~/.config/nvim/
|
# doas pacman -S fennel
|
||||||
|
|
||||||
|
$ git clone https://git.bonsai.cool/brk/trixy ~/.config/nvim/
|
||||||
nvim +"Lazy sync"
|
nvim +"Lazy sync"
|
||||||
```
|
```
|
||||||
It should pull Lazy.nvim itself, and also all of the plugins. Run :Mason to install your Language Servers of choice.
|
It should pull Lazy.nvim itself, and also all of the plugins. Run :Mason to install your Language Servers of choice.
|
||||||
|
|
81
fnl/options/colors.fnl
Normal file
81
fnl/options/colors.fnl
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
(import-macros {: set! : exec!} :hibiscus.vim)
|
||||||
|
|
||||||
|
(local espresso (require :catppuccin))
|
||||||
|
|
||||||
|
(local color_overrides
|
||||||
|
{ :macchiato
|
||||||
|
{ :rosewater :#F5B8AB
|
||||||
|
:flamingo :#F29D9D
|
||||||
|
:pink :#AD6FF7
|
||||||
|
:mauve :#FF8F40
|
||||||
|
:red :#E66767
|
||||||
|
:maroon :#EB788B
|
||||||
|
:peach :#FAB770
|
||||||
|
:yellow :#FACA64
|
||||||
|
:green :#70CF67
|
||||||
|
:teal :#4CD4BD
|
||||||
|
:sky :#61BDFF
|
||||||
|
:sapphire :#4BA8FA
|
||||||
|
:blue :#00BFFF
|
||||||
|
:lavender :#00BBCC
|
||||||
|
:text :#C1C9E6
|
||||||
|
:subtext1 :#A3AAC2
|
||||||
|
:subtext0 :#8E94AB
|
||||||
|
:overlay2 :#7D8296
|
||||||
|
:overlay1 :#676B80
|
||||||
|
:overlay0 :#464957
|
||||||
|
:surface2 :#3A3D4A
|
||||||
|
:surface1 :#2F313D
|
||||||
|
:surface0 :#1D1E29
|
||||||
|
:base :#0b0b0b
|
||||||
|
:mantle :#11111a
|
||||||
|
:crust :#191926 } })
|
||||||
|
|
||||||
|
(local integrations
|
||||||
|
{ :cmp true
|
||||||
|
:gitsigns true
|
||||||
|
:treesitter true
|
||||||
|
|
||||||
|
:telescope
|
||||||
|
{ :enabled true
|
||||||
|
:style :nvchad }
|
||||||
|
|
||||||
|
:mini
|
||||||
|
{ :enabled true} })
|
||||||
|
|
||||||
|
|
||||||
|
(espresso.setup
|
||||||
|
{ :flavour :macchiato
|
||||||
|
:color_overrides color_overrides
|
||||||
|
:integrations integrations })
|
||||||
|
|
||||||
|
|
||||||
|
(set! background :dark)
|
||||||
|
(exec! [colorscheme catppuccin])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; (local highlight_overrides
|
||||||
|
; { :all
|
||||||
|
; (fn [colors]
|
||||||
|
; :CurSearch { :bg colors.sky }
|
||||||
|
; :IncSearch { :bg colors.sky }
|
||||||
|
; :CursorLineNr { :fg colors.blue :style [:bold] }
|
||||||
|
; :DashboardFooter { :fg colors.overlay0 }
|
||||||
|
; :TreesitterContextBottom { :style {} }
|
||||||
|
; :WinSeparator { :fg colors.overlay0 :style [:bold] }
|
||||||
|
; :Headline { :style [:bold] }
|
||||||
|
; :Headline1 { :fg colors.blue :style [:bold] }
|
||||||
|
; :Headline2 { :fg colors.pink :style [:bold] }
|
||||||
|
; :Headline3 { :fg colors.lavender :style [:bold] }
|
||||||
|
; :Headline4 { :fg colors.green :style [:bold] }
|
||||||
|
; :Headline5 { :fg colors.peach :style [:bold] }
|
||||||
|
; :Headline6 { :fg colors.flamingo :style [:bold] }
|
||||||
|
; :rainbow1 { :fg colors.blue :style [:bold] }
|
||||||
|
; :rainbow2 { :fg colors.pink :style [:bold] }
|
||||||
|
; :rainbow3 { :fg colors.lavender :style [:bold] }
|
||||||
|
; :rainbow4 { :fg colors.green :style [:bold] }
|
||||||
|
; :rainbow5 { :fg colors.peach :style [:bold] }
|
||||||
|
; :rainbow6 { :fg colors.flamingo :style [:bold] }
|
||||||
|
; "@markup.italic" { :fg colors.blue :style [:italic] }
|
||||||
|
; "@markup.strong" { :fg colors.blue :style [:bold] } )})
|
6
fnl/options/init.fnl
Executable file
6
fnl/options/init.fnl
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
(local dir :options.)
|
||||||
|
(fn modul [name] (.. dir name))
|
||||||
|
|
||||||
|
(require (modul :colors))
|
||||||
|
(require (modul :keybind))
|
||||||
|
(require (modul :opts))
|
41
fnl/options/keybind.fnl
Executable file
41
fnl/options/keybind.fnl
Executable file
|
@ -0,0 +1,41 @@
|
||||||
|
(require-macros :hibiscus.core)
|
||||||
|
(require-macros :hibiscus.vim)
|
||||||
|
|
||||||
|
(g! mapleader " ")
|
||||||
|
|
||||||
|
; trim those bastards
|
||||||
|
(map! [n :noremap] :<leader>tw "<cmd>lua MiniTrailspace.trim()<CR>")
|
||||||
|
|
||||||
|
; Telescope mappings
|
||||||
|
(map! [n :noremap] :<leader>fb "<cmd>Telescope buffers<CR>")
|
||||||
|
(map! [n :noremap] :<leader>ff "<cmd>Telescope find_files<CR>")
|
||||||
|
(map! [n :noremap] :<leader>fs "<cmd>Telescope current_buffer_fuzzy_find<CR>")
|
||||||
|
(map! [n :noremap] :<leader>gs "<cmd>Telescope git_status<CR>")
|
||||||
|
(map! [n :noremap] :<leader>fg "<cmd>Telescope live_grep<CR>")
|
||||||
|
(map! [n :noremap] :<leader>fh "<cmd>Telescope help_tags<CR>")
|
||||||
|
(map! [n :noremap] :<leader>fk "<cmd>Telescope keymaps<CR>")
|
||||||
|
|
||||||
|
(map! [n :noremap] :<leader>tt "<cmd>terminal<CR>")
|
||||||
|
(map! [n :noremap] :<C-Space> "<cmd>bprev<CR>")
|
||||||
|
|
||||||
|
; remap keys so that they dont skip camelCase
|
||||||
|
(map! [n :noremap :silent] :w "<Plug>CamelCaseMotion_w")
|
||||||
|
(map! [n :noremap :silent] :b "<Plug>CamelCaseMotion_b")
|
||||||
|
(map! [n :noremap :silent] :e "<Plug>CamelCaseMotion_e")
|
||||||
|
(map! [n :noremap :silent] :ge "<Plug>CamelCaseMotion_ge")
|
||||||
|
|
||||||
|
; this little guy helps you move text, really helpful
|
||||||
|
(map! [v :noremap] :J ":m '>+1<CR>gv=gv")
|
||||||
|
(map! [v :noremap] :K ":m '<-2<CR>gv=gv")
|
||||||
|
|
||||||
|
; Cursor always stays on center
|
||||||
|
(map! [n :noremap] :J "mzJ`z")
|
||||||
|
(map! [n :noremap] :<C-d> "<C-d>zz")
|
||||||
|
(map! [n :noremap] :<C-u> "<C-u>zz")
|
||||||
|
(map! [n :noremap] :n "nzzzv")
|
||||||
|
(map! [n :noremap] :N "Nzzzv")
|
||||||
|
|
||||||
|
; interface with system clipboard
|
||||||
|
(map! [nvx :noremap :silent] :<leader>y "\"+y")
|
||||||
|
(map! [nvx :noremap :silent] :<leader>Y "\"+yy")
|
||||||
|
(map! [nvx :noremap :silent] :<leader>p "\"+p")
|
81
fnl/options/opts.fnl
Normal file
81
fnl/options/opts.fnl
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
(import-macros {: set! : g! : exec!} :hibiscus.vim)
|
||||||
|
|
||||||
|
(set! number true) ; enable line number
|
||||||
|
(set! relativenumber true) ; enable relative line number
|
||||||
|
(set! undofile true) ; persistent undo
|
||||||
|
(set! backup false) ; disable backup
|
||||||
|
(set! autowrite true) ; auto write buffer when it's not focused
|
||||||
|
(set! ignorecase true) ; case insensitive on search..
|
||||||
|
(set! list true) ; display listchars
|
||||||
|
(set! smartindent false) ; smarter indentation
|
||||||
|
(set! splitright true) ; split right instead of left
|
||||||
|
(set! splitkeep :screen) ; stabilize split
|
||||||
|
(set! startofline false) ; don't go to the start of the line when moving to another file
|
||||||
|
(set! swapfile false) ; disable swapfile
|
||||||
|
(set! termguicolors true) ; true colours for better experience
|
||||||
|
(set! wrap false) ; don't wrap lines
|
||||||
|
(set! backupcopy :yes) ; fix weirdness for stuff that replaces the entire file when hot reloading
|
||||||
|
|
||||||
|
(set! smarttab false)
|
||||||
|
(set! tabstop 4)
|
||||||
|
(set! softtabstop 4)
|
||||||
|
(set! shiftwidth 4)
|
||||||
|
(set! expandtab false)
|
||||||
|
|
||||||
|
(set! compatible false) ; disable compatibility with old vi
|
||||||
|
(set! showmatch true) ; show matches while searching for text
|
||||||
|
(set! hlsearch true) ; highlight text that has been searched
|
||||||
|
(set! incsearch true) ; incramentally search
|
||||||
|
(set! autoindent true)
|
||||||
|
(set! wildmode "longest,list")
|
||||||
|
(set! inccommand :split)
|
||||||
|
|
||||||
|
; (lua "opt.formatoptions:remove \"o\"")
|
||||||
|
|
||||||
|
(set! mouse :v)
|
||||||
|
(set! mouse :a)
|
||||||
|
; (set! clipboard :unnamedplus) ; use system clipboard
|
||||||
|
(set! ttyfast true)
|
||||||
|
(set! cursorline true)
|
||||||
|
(set! splitbelow true)
|
||||||
|
; (set! autochdir true)
|
||||||
|
(set! signcolumn :yes:1)
|
||||||
|
|
||||||
|
(set! showmode false)
|
||||||
|
(set! cmdheight 0)
|
||||||
|
|
||||||
|
(vim.cmd "syntax match keyword \"\\<lambda\\>\" conceal cchar=λ")
|
||||||
|
(set! conceallevel 1)
|
||||||
|
|
||||||
|
; Skip loading of following neovim builtins
|
||||||
|
(local default_plugins {
|
||||||
|
:2html_plugin
|
||||||
|
:getscript
|
||||||
|
:getscriptPlugin
|
||||||
|
:gzip
|
||||||
|
:logipat
|
||||||
|
:netrw
|
||||||
|
:netrwPlugin
|
||||||
|
:netrwSettings
|
||||||
|
:netrwFileHandlers
|
||||||
|
:matchit
|
||||||
|
:tar
|
||||||
|
:tarPlugin
|
||||||
|
:rrhelper
|
||||||
|
:spellfile_plugin
|
||||||
|
:vimball
|
||||||
|
:vimballPlugin
|
||||||
|
:zip
|
||||||
|
:zipPlugin
|
||||||
|
:tutor
|
||||||
|
:rplugin
|
||||||
|
:syntax
|
||||||
|
:synmenu
|
||||||
|
:optwin
|
||||||
|
:compiler
|
||||||
|
:bugreport
|
||||||
|
:ftplugin })
|
||||||
|
|
||||||
|
(each [_ plug (ipairs default_plugins)]
|
||||||
|
(g! (.. :loaded plug) 1))
|
||||||
|
|
6
fnl/plugins/colorizer.fnl
Normal file
6
fnl/plugins/colorizer.fnl
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
(import-macros {: set!} :hibiscus.vim)
|
||||||
|
|
||||||
|
(set! termguicolors true)
|
||||||
|
|
||||||
|
(local colorizer (require :nvim-highlight-colors))
|
||||||
|
(colorizer.setup)
|
25
fnl/plugins/devicons.fnl
Executable file
25
fnl/plugins/devicons.fnl
Executable file
|
@ -0,0 +1,25 @@
|
||||||
|
(local plug (require :nvim-web-devicons))
|
||||||
|
|
||||||
|
(plug.setup [
|
||||||
|
:strict true
|
||||||
|
:default true
|
||||||
|
:color_icons true
|
||||||
|
|
||||||
|
:override
|
||||||
|
[ :zsh
|
||||||
|
[ :icon ""
|
||||||
|
:color "#428850"
|
||||||
|
:cterm_color "65"
|
||||||
|
:name "zsh" ]]
|
||||||
|
|
||||||
|
:override_by_filename
|
||||||
|
[ :.gitignore
|
||||||
|
[ :icon ""
|
||||||
|
:color "#f1502f"
|
||||||
|
:name "gitignore" ]]
|
||||||
|
|
||||||
|
:override_by_extension
|
||||||
|
[ :log
|
||||||
|
[ :icon ""
|
||||||
|
:color "#81e043"
|
||||||
|
:name "Log" ]] ])
|
40
fnl/plugins/gitsigns.fnl
Executable file
40
fnl/plugins/gitsigns.fnl
Executable file
|
@ -0,0 +1,40 @@
|
||||||
|
(local gitsigns (require :gitsigns))
|
||||||
|
|
||||||
|
(gitsigns.setup {
|
||||||
|
:signs
|
||||||
|
{ :add {:text :▍}
|
||||||
|
:change {:text :▍}
|
||||||
|
:delete {:text :▍}
|
||||||
|
:topdelete {:text :▍}
|
||||||
|
:changedelete {:text :▍}
|
||||||
|
:untracked {:text :▍} }
|
||||||
|
|
||||||
|
:signcolumn true
|
||||||
|
:numhl false
|
||||||
|
:linehl false
|
||||||
|
:word_diff false
|
||||||
|
|
||||||
|
:watch_gitdir { :follow_files true }
|
||||||
|
|
||||||
|
|
||||||
|
:attach_to_untracked true
|
||||||
|
:current_line_blame false
|
||||||
|
|
||||||
|
:current_line_blame_opts
|
||||||
|
{ :virt_text true
|
||||||
|
:virt_text_pos :eol
|
||||||
|
:delay 1000
|
||||||
|
:ignore_whitespace false }
|
||||||
|
|
||||||
|
:current_line_blame_formatter "<author>, <author_time:%Y-%m-%d> - <summary>"
|
||||||
|
:sign_priority 6
|
||||||
|
:update_debounce 100
|
||||||
|
:status_formatter nil
|
||||||
|
:max_file_length 40000
|
||||||
|
|
||||||
|
:preview_config
|
||||||
|
{ :border :single
|
||||||
|
:style :minimal
|
||||||
|
:relative :cursor
|
||||||
|
:row 0
|
||||||
|
:col 1 } })
|
18
fnl/plugins/harpoon.fnl
Normal file
18
fnl/plugins/harpoon.fnl
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
(import-macros {: map!} :hibiscus.vim)
|
||||||
|
|
||||||
|
(local harpoon (require :harpoon))
|
||||||
|
(harpoon.setup)
|
||||||
|
|
||||||
|
(map! [n :noremap] :<leader>ha (fn [] (harpoon.list:append)))
|
||||||
|
|
||||||
|
(map! [n :noremap] :<C-e> (fn [] (harpoon.ui.toggle_quick_menu (harpoon.list))))
|
||||||
|
|
||||||
|
(map! [n :noremap] :<C-h> (fn [] (harpoon.list:select 1)))
|
||||||
|
(map! [n :noremap] :<C-t> (fn [] (harpoon.list:select 2)))
|
||||||
|
(map! [n :noremap] :<C-n> (fn [] (harpoon.list:select 3)))
|
||||||
|
(map! [n :noremap] :<C-s> (fn [] (harpoon.list:select 4)))
|
||||||
|
|
||||||
|
;; Toggle previous & next buffers stored within Harpoon list
|
||||||
|
(map! [n :noremap] :<C-S-P> (fn [] (harpoon.list:prev)))
|
||||||
|
(map! [n :noremap] :<C-S-N> (fn [] (harpoon.list:next)))
|
||||||
|
|
27
fnl/plugins/hlchunk.fnl
Executable file
27
fnl/plugins/hlchunk.fnl
Executable file
|
@ -0,0 +1,27 @@
|
||||||
|
(local hlchunk (require :hlchunk))
|
||||||
|
|
||||||
|
(hlchunk.setup {
|
||||||
|
:indent {
|
||||||
|
:enable true
|
||||||
|
:chars [ "." "." "." "." ]
|
||||||
|
|
||||||
|
:style
|
||||||
|
{ :#888888
|
||||||
|
:#666666
|
||||||
|
:#444444
|
||||||
|
:#333333
|
||||||
|
:#333333
|
||||||
|
:#333333
|
||||||
|
:#333333
|
||||||
|
:#333333 } }
|
||||||
|
|
||||||
|
:blank { :enable false }
|
||||||
|
|
||||||
|
:chunk { :enable false }
|
||||||
|
|
||||||
|
:line_num {
|
||||||
|
:enable false
|
||||||
|
:style :#ADBC9F
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
39
fnl/plugins/incline.fnl
Normal file
39
fnl/plugins/incline.fnl
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
(local incline (require :incline))
|
||||||
|
|
||||||
|
(incline.setup
|
||||||
|
{ :highlight
|
||||||
|
{ :groups
|
||||||
|
{ :InclineNormal
|
||||||
|
{ :default true
|
||||||
|
:group :lualine_a_normal }
|
||||||
|
|
||||||
|
:InclineNormalNC
|
||||||
|
{ :default true
|
||||||
|
:group :Comment } }}
|
||||||
|
:window
|
||||||
|
{ :margin
|
||||||
|
{ :vertical 0
|
||||||
|
:horizontal 1 }}
|
||||||
|
; :render
|
||||||
|
; (fn [props]
|
||||||
|
; (let
|
||||||
|
; [
|
||||||
|
; filename (vim.fn.fnamemodify (vim.api.nvim_buf_get_name props.buf) ::t)
|
||||||
|
; [icon color] (require :nvim-web-devicons).get_icon_color filename
|
||||||
|
; ]
|
||||||
|
;
|
||||||
|
; ([
|
||||||
|
; { icon
|
||||||
|
; { :guifg color } }
|
||||||
|
;
|
||||||
|
; [(if icon " " "")]
|
||||||
|
;
|
||||||
|
; [filename] ]) ))
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
; render = function(props)
|
||||||
|
; local filename = vim.fn.fnamemodify(vim.api.nvim_buf_get_name(props.buf), ":t")
|
||||||
|
; local icon, color = require("nvim-web-devicons").get_icon_color(filename)
|
||||||
|
; return { { icon, guifg = color }, { icon and " " or "" }, { filename } }
|
||||||
|
; end,
|
15
fnl/plugins/init.fnl
Executable file
15
fnl/plugins/init.fnl
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
(local dir :plugins.)
|
||||||
|
(fn modul [name] (.. dir name))
|
||||||
|
|
||||||
|
(require (modul :lazy))
|
||||||
|
(require (modul :devicons))
|
||||||
|
(require (modul :gitsigns))
|
||||||
|
(require (modul :harpoon))
|
||||||
|
(require (modul :lsp-zero))
|
||||||
|
(require (modul :lualine))
|
||||||
|
(require (modul :mini))
|
||||||
|
(require (modul :telescope))
|
||||||
|
(require (modul :treesitter))
|
||||||
|
(require (modul :wilder))
|
||||||
|
(require (modul :incline))
|
||||||
|
(require (modul :colorizer))
|
76
fnl/plugins/lazy.fnl
Executable file
76
fnl/plugins/lazy.fnl
Executable file
|
@ -0,0 +1,76 @@
|
||||||
|
(local lazypath (.. (vim.fn.stdpath :data) :/lazy/lazy.nvim))
|
||||||
|
|
||||||
|
(if (not (vim.loop.fs_stat lazypath))
|
||||||
|
(vim.fn.system
|
||||||
|
[:git :clone :--filter=blob:none :https://github.com/folke/lazy.nvim.git :--branch=stable lazypath]))
|
||||||
|
|
||||||
|
(vim.opt.rtp:prepend lazypath)
|
||||||
|
|
||||||
|
(local lazy (require :lazy))
|
||||||
|
(local plug 1)
|
||||||
|
|
||||||
|
(local plugins [
|
||||||
|
:ThePrimeagen/vim-be-good
|
||||||
|
|
||||||
|
:udayvir-singh/tangerine.nvim
|
||||||
|
:udayvir-singh/hibiscus.nvim
|
||||||
|
|
||||||
|
:lambdalisue/nerdfont.vim
|
||||||
|
|
||||||
|
{ plug :catppuccin/nvim
|
||||||
|
:name :catppuccin
|
||||||
|
:priority 1000 }
|
||||||
|
|
||||||
|
:gelguy/wilder.nvim
|
||||||
|
:bkad/camelcasemotion
|
||||||
|
:lewis6991/gitsigns.nvim
|
||||||
|
|
||||||
|
{ plug :b0o/incline.nvim
|
||||||
|
:event [:BufReadPre] }
|
||||||
|
|
||||||
|
:echasnovski/mini.nvim
|
||||||
|
:brenoprata10/nvim-highlight-colors
|
||||||
|
|
||||||
|
{ plug :svampkorg/moody.nvim
|
||||||
|
:event [:ModeChanged :BufWinEnter :WinEnter]
|
||||||
|
:opts [] }
|
||||||
|
|
||||||
|
{ plug :nvim-telescope/telescope-fzf-native.nvim
|
||||||
|
:build :make }
|
||||||
|
|
||||||
|
{ plug :nvim-telescope/telescope.nvim
|
||||||
|
:tag :0.1.8
|
||||||
|
:dependencies [:nvim-lua/plenary.nvim] }
|
||||||
|
|
||||||
|
{ plug :OXY2DEV/markview.nvim
|
||||||
|
:dependencies
|
||||||
|
[ :nvim-treesitter/nvim-treesitter
|
||||||
|
:nvim-tree/nvim-web-devicons ] }
|
||||||
|
|
||||||
|
{ plug :ThePrimeagen/harpoon
|
||||||
|
:branch :harpoon2
|
||||||
|
:dependencies [:nvim-lua/plenary.nvim] }
|
||||||
|
|
||||||
|
{ plug :nvim-lualine/lualine.nvim
|
||||||
|
:dependencies [:nvim-tree/nvim-web-devicons] }
|
||||||
|
|
||||||
|
{ plug :nvim-treesitter/nvim-treesitter
|
||||||
|
:build ":TSUpdate" }
|
||||||
|
|
||||||
|
{ plug :VonHeikemen/lsp-zero.nvim
|
||||||
|
:branch "v3.x"
|
||||||
|
:dependencies
|
||||||
|
[ :neovim/nvim-lspconfig
|
||||||
|
:williamboman/mason.nvim
|
||||||
|
:williamboman/mason-lspconfig.nvim
|
||||||
|
|
||||||
|
:hrsh7th/nvim-cmp
|
||||||
|
:hrsh7th/cmp-nvim-lsp
|
||||||
|
:L3MON4D3/LuaSnip ]}
|
||||||
|
|
||||||
|
{ plug :m4xshen/hardtime.nvim
|
||||||
|
:dependencies
|
||||||
|
[ :MunifTanjim/nui.nvim
|
||||||
|
:nvim-lua/plenary.nvim ] } ])
|
||||||
|
|
||||||
|
(lazy.setup plugins)
|
62
fnl/plugins/lsp-zero.fnl
Executable file
62
fnl/plugins/lsp-zero.fnl
Executable file
|
@ -0,0 +1,62 @@
|
||||||
|
(local lsp (require :lsp-zero))
|
||||||
|
(lsp.preset)
|
||||||
|
|
||||||
|
(local lspconfig (require :lspconfig))
|
||||||
|
(lspconfig.lua_ls.setup (lsp.nvim_lua_ls))
|
||||||
|
|
||||||
|
(local mason (require :mason))
|
||||||
|
(mason.setup)
|
||||||
|
|
||||||
|
(local mason-lspc (require :mason-lspconfig))
|
||||||
|
(mason-lspc.setup
|
||||||
|
{ :ensure-installed
|
||||||
|
[ :fennel-ls
|
||||||
|
:lua-language-server
|
||||||
|
:python-lsp-server
|
||||||
|
:zls ]
|
||||||
|
|
||||||
|
:automatic_installation true })
|
||||||
|
|
||||||
|
(local cmp (require :cmp))
|
||||||
|
(local cmp_action (lsp.cmp_action))
|
||||||
|
|
||||||
|
|
||||||
|
(lsp.on_attach (fn [_ bufnr] lsp.default_keymaps {:buffer bufnr}))
|
||||||
|
|
||||||
|
(lspconfig.pylsp.setup
|
||||||
|
{ :setings
|
||||||
|
{ :pylsp
|
||||||
|
{ :plugins
|
||||||
|
{ :pycodestyle
|
||||||
|
{ :ignore [:W391 :E303 :E226]
|
||||||
|
:maxLineLength 120 } }}}})
|
||||||
|
|
||||||
|
(lsp.setup)
|
||||||
|
|
||||||
|
; (local fennel-ls lspconfig.fennel_ls)
|
||||||
|
; (fennel-ls.setup {})
|
||||||
|
|
||||||
|
(lspconfig.racket_langserver.setup {})
|
||||||
|
(lspconfig.zls.setup {})
|
||||||
|
|
||||||
|
|
||||||
|
(cmp.setup
|
||||||
|
{ :mapping
|
||||||
|
{ :<CR> (cmp.mapping.confirm {:select true})
|
||||||
|
|
||||||
|
:<Tab> (cmp.mapping
|
||||||
|
(fn [fallback]
|
||||||
|
(if (cmp.visible)
|
||||||
|
(cmp.select_next_item)
|
||||||
|
(fallback)) [:i :s] ))
|
||||||
|
|
||||||
|
:<S-Tab> (cmp.mapping
|
||||||
|
(fn [fallback]
|
||||||
|
(if (cmp.visible)
|
||||||
|
(cmp.select_prev_item)
|
||||||
|
(fallback)) [:i :s] ))
|
||||||
|
|
||||||
|
:<C-Space> cmp.mapping.complete
|
||||||
|
|
||||||
|
:<C-f> cmp_action.luasnip_jump_forward
|
||||||
|
:<C-b> cmp_action.luasnip_jump_backward }})
|
11
fnl/plugins/lualine.fnl
Executable file
11
fnl/plugins/lualine.fnl
Executable file
|
@ -0,0 +1,11 @@
|
||||||
|
(local lualine (require :lualine))
|
||||||
|
|
||||||
|
(lualine.setup
|
||||||
|
{ :options
|
||||||
|
{ :section_separators
|
||||||
|
{ :left :
|
||||||
|
:right : }
|
||||||
|
|
||||||
|
:component_separators
|
||||||
|
{ :left :
|
||||||
|
:right : }} })
|
14
fnl/plugins/mini.fnl
Normal file
14
fnl/plugins/mini.fnl
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
(local cursorword (require :mini.cursorword))
|
||||||
|
(cursorword.setup)
|
||||||
|
|
||||||
|
(local trailspace (require :mini.trailspace))
|
||||||
|
(trailspace.setup)
|
||||||
|
|
||||||
|
(local pairs (require :mini.pairs))
|
||||||
|
(pairs.setup)
|
||||||
|
|
||||||
|
(local clue (require :mini.clue))
|
||||||
|
(clue.setup)
|
||||||
|
|
||||||
|
(local surround (require :mini.surround))
|
||||||
|
(surround.setup)
|
2
fnl/plugins/oil.fnl
Normal file
2
fnl/plugins/oil.fnl
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
(local oil (require :oil))
|
||||||
|
(oil.setup)
|
11
fnl/plugins/telescope.fnl
Normal file
11
fnl/plugins/telescope.fnl
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
(local telescope (require :telescope))
|
||||||
|
|
||||||
|
(telescope.setup
|
||||||
|
{ :extansions
|
||||||
|
{ :fzf
|
||||||
|
{ :fuzzy true
|
||||||
|
:override_generic_sorter true
|
||||||
|
:override_file_sorter true
|
||||||
|
:case_mode :smart_case } }})
|
||||||
|
|
||||||
|
(telescope.load_extension :fzf)
|
26
fnl/plugins/treesitter.fnl
Executable file
26
fnl/plugins/treesitter.fnl
Executable file
|
@ -0,0 +1,26 @@
|
||||||
|
(local configs (require :nvim-treesitter.configs))
|
||||||
|
; (local parsers (require :nvim-treesitter.parsers))
|
||||||
|
|
||||||
|
(configs.setup
|
||||||
|
{ :ensure_installed
|
||||||
|
[ :c
|
||||||
|
:lua
|
||||||
|
:vim
|
||||||
|
:vimdoc
|
||||||
|
:query
|
||||||
|
:haskell
|
||||||
|
:go
|
||||||
|
:bash
|
||||||
|
:python
|
||||||
|
:fennel
|
||||||
|
:hyprlang ]
|
||||||
|
|
||||||
|
:sync_install false
|
||||||
|
:auto_install true
|
||||||
|
|
||||||
|
:highlight
|
||||||
|
{ :enable true }})
|
||||||
|
|
||||||
|
(vim.filetype.add
|
||||||
|
{ :pattern
|
||||||
|
{ :.*/hypr/.*%.conf :hyprlang }})
|
24
fnl/plugins/wilder.fnl
Executable file
24
fnl/plugins/wilder.fnl
Executable file
|
@ -0,0 +1,24 @@
|
||||||
|
; (local wilder (require :wilder))
|
||||||
|
;
|
||||||
|
; (wilder.setup {
|
||||||
|
; :modes [":" "/" "?"]
|
||||||
|
; })
|
||||||
|
;
|
||||||
|
; (wilder.set_option :renderer (wilder.renderer_mux {
|
||||||
|
; ":" (wilder.popupmenu_renderer {
|
||||||
|
; :highlighter wilder.basic_highlighter
|
||||||
|
; :left [ " " wilder.popupmenu_devicons ]
|
||||||
|
; :right [ " " wilder.popupmenu_scrollbar ]
|
||||||
|
; })
|
||||||
|
;
|
||||||
|
; "/" (wilder.popupmenu_renderer {
|
||||||
|
; :highlighter wilder.basic_highlighter
|
||||||
|
; :left [ "" wilder.popupmenu_devicons ]
|
||||||
|
; :right [ "" wilder.popupmenu_scrollbar ]
|
||||||
|
; })
|
||||||
|
; }))
|
||||||
|
;
|
||||||
|
; (wilder.set_option :renderer
|
||||||
|
; (wilder.popupmenu_renderer
|
||||||
|
; { :max_height :20%
|
||||||
|
; :min_width :100% }))
|
27
init.fnl
Normal file
27
init.fnl
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
; ████████╗██████╗ ██╗██╗ ██╗██╗ ██╗
|
||||||
|
; ╚══██╔══╝██╔══██╗██║╚██╗██╔╝╚██╗ ██╔╝
|
||||||
|
; ██║ ██████╔╝██║ ╚███╔╝ ╚████╔╝
|
||||||
|
; ██║ ██╔══██╗██║ ██╔██╗ ╚██╔╝
|
||||||
|
; ██║ ██║ ██║██║██╔╝ ██╗ ██║
|
||||||
|
; ╚═╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═╝ ╚═
|
||||||
|
|
||||||
|
; Listen up, you motherfuckers,
|
||||||
|
; Those Ivy League dopes, they wanna
|
||||||
|
; mock us. Tell 'em all this is war.
|
||||||
|
; And not fighting a war is for suckers.
|
||||||
|
|
||||||
|
; (import-macros {: g! : set!} :hibiscus.vim)
|
||||||
|
|
||||||
|
; When using neovide, use these settings
|
||||||
|
; (when vim.g.neovide (do
|
||||||
|
; (set! guifont "FiraCode Nerd Font:h14")
|
||||||
|
; (g! neovide_scale_factor 1.0)
|
||||||
|
; (g! neovide_refresh_rate 120)
|
||||||
|
; (g! neovide_refresh_rate_idle 5)
|
||||||
|
; (g! neovide_cursor_antialiasing true)
|
||||||
|
; (g! neovide_cursor_animate_in_insert_mode true)
|
||||||
|
; (g! neovide_cursor_vfx_mode "ripple")))
|
||||||
|
|
||||||
|
|
||||||
|
(require :plugins)
|
||||||
|
(require :options)
|
49
init.lua
49
init.lua
|
@ -1,28 +1,35 @@
|
||||||
|
|
||||||
|
-- needed to fix deprecation warning
|
||||||
|
vim.tbl_islist = vim.islist
|
||||||
|
|
||||||
-- ████████╗██████╗ ██╗██╗ ██╗██╗ ██╗
|
-- bootstrap tangerine and hibiscus in order to have fennel support
|
||||||
-- ╚══██╔══╝██╔══██╗██║╚██╗██╔╝╚██╗ ██╔╝
|
local function bootstrap(url, ref)
|
||||||
-- ██║ ██████╔╝██║ ╚███╔╝ ╚████╔╝
|
local name = url:gsub(".*/", "")
|
||||||
-- ██║ ██╔══██╗██║ ██╔██╗ ╚██╔╝
|
local path
|
||||||
-- ██║ ██║ ██║██║██╔╝ ██╗ ██║
|
|
||||||
-- ╚═╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═╝ ╚═╝
|
|
||||||
|
|
||||||
|
path = vim.fn.stdpath("data") .. "/lazy/" .. name
|
||||||
|
vim.opt.rtp:prepend(path)
|
||||||
|
|
||||||
-- Setup Lazy.nvim and plugins
|
if vim.fn.isdirectory(path) == 0 then
|
||||||
require("plugins")
|
print(name .. ": installing in data dir...")
|
||||||
|
|
||||||
-- Setup standard neovim options
|
vim.fn.system {"git", "clone", url, path}
|
||||||
require("options")
|
if ref then
|
||||||
|
vim.fn.system {"git", "-C", path, "checkout", ref}
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.cmd "redraw"
|
||||||
|
print(name .. ": finished installing")
|
||||||
|
end
|
||||||
if vim.g.neovide then
|
|
||||||
vim.o.guifont = "FiraCode Nerd Font:h14"
|
|
||||||
vim.g.neovide_scale_factor = 1.0
|
|
||||||
vim.g.neovide_refresh_rate = 120
|
|
||||||
vim.g.neovide_refresh_rate_idle = 5
|
|
||||||
vim.g.neovide_cursor_antialiasing = true
|
|
||||||
vim.g.neovide_cursor_animate_in_insert_mode = true
|
|
||||||
vim.g.neovide_cursor_vfx_mode = "ripple"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
bootstrap("https://github.com/udayvir-singh/tangerine.nvim")
|
||||||
|
bootstrap("https://github.com/udayvir-singh/hibiscus.nvim")
|
||||||
|
|
||||||
|
|
||||||
|
require "tangerine".setup {
|
||||||
|
compiler = {
|
||||||
|
verbose = false,
|
||||||
|
hooks = { "onsave", "oninit" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
-- vim.opt.termguicolors = true
|
|
||||||
-- vim.opt.background = "dark"
|
|
||||||
|
|
||||||
-- vim.g.onedark_config = { style = 'darker' }
|
|
||||||
vim.cmd("colorscheme carbonfox")
|
|
||||||
-- vim.opt.background = "dark" -- set this to dark or light
|
|
||||||
-- vim.cmd.colorscheme "oxocarbon"
|
|
|
@ -1,17 +0,0 @@
|
||||||
local harpoon = require("harpoon")
|
|
||||||
|
|
||||||
-- REQUIRED
|
|
||||||
harpoon:setup()
|
|
||||||
-- REQUIRED
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>ha", function() harpoon:list():append() end)
|
|
||||||
vim.keymap.set("n", "<C-e>", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<C-h>", function() harpoon:list():select(1) end)
|
|
||||||
vim.keymap.set("n", "<C-t>", function() harpoon:list():select(2) end)
|
|
||||||
vim.keymap.set("n", "<C-n>", function() harpoon:list():select(3) end)
|
|
||||||
vim.keymap.set("n", "<C-s>", function() harpoon:list():select(4) end)
|
|
||||||
|
|
||||||
-- Toggle previous & next buffers stored within Harpoon list
|
|
||||||
vim.keymap.set("n", "<C-S-P>", function() harpoon:list():prev() end)
|
|
||||||
vim.keymap.set("n", "<C-S-N>", function() harpoon:list():next() end)
|
|
|
@ -1,3 +0,0 @@
|
||||||
require("options.colors")
|
|
||||||
require("options.opts")
|
|
||||||
require("options.keybind")
|
|
|
@ -1,56 +0,0 @@
|
||||||
vim.g.mapleader = " "
|
|
||||||
|
|
||||||
local map = vim.api.nvim_set_keymap
|
|
||||||
local cmap = vim.keymap.set
|
|
||||||
|
|
||||||
local options = { noremap = true }
|
|
||||||
local cmd_options = { noremap = true, silent = true }
|
|
||||||
|
|
||||||
|
|
||||||
map('n', '<C-space>', '<cmd>Telescope buffers<CR>', options)
|
|
||||||
|
|
||||||
-- slef explanitory
|
|
||||||
map("n", "<leader>tw", "<cmd>lua MiniTrailspace.trim()<CR>", options)
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>f", function()
|
|
||||||
require("oil").open()
|
|
||||||
end)
|
|
||||||
|
|
||||||
-- remap keys so that they dont skip camelCase
|
|
||||||
map("n", "w", "<Plug>CamelCaseMotion_w", cmd_options)
|
|
||||||
map("n", "b", "<Plug>CamelCaseMotion_b", cmd_options)
|
|
||||||
map("n", "e", "<Plug>CamelCaseMotion_e", cmd_options)
|
|
||||||
map("n", "ge", "<Plug>CamelCaseMotion_ge", cmd_options)
|
|
||||||
|
|
||||||
|
|
||||||
-- this little guy helps you move text, really helpful
|
|
||||||
map("v", "J", ":m '>+1<CR>gv=gv", options)
|
|
||||||
map("v", "K", ":m '<-2<CR>gv=gv", options)
|
|
||||||
|
|
||||||
|
|
||||||
-- Cursor always stays on center
|
|
||||||
map("n", "J", "mzJ`z", options)
|
|
||||||
map("n", "<C-d>", "<C-d>zz", options)
|
|
||||||
map("n", "<C-u>", "<C-u>zz", options)
|
|
||||||
map("n", "n", "nzzzv", options)
|
|
||||||
map("n", "N", "Nzzzv", options)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- paste text but DONT copy the overridden text
|
|
||||||
cmap("x", "p", [["_dP]])
|
|
||||||
cmap("x", "<leader>p", [["+dP]])
|
|
||||||
-- delete text but DONT copy to clipboard
|
|
||||||
cmap({ "n", "v" }, "<leader>d", [["_d]])
|
|
||||||
|
|
||||||
-- quickfix stuff
|
|
||||||
--
|
|
||||||
--
|
|
||||||
-- map("n", "<C-k>", "<cmd>cnext<CR>zz", options)
|
|
||||||
-- map("n", "<C-j>", "<cmd>cprev<CR>zz", options)
|
|
||||||
-- map("n", "<leader>k", "<cmd>lnext<CR>zz", options)
|
|
||||||
-- map("n", "<leader>j", "<cmd>lprev<CR>zz", options)
|
|
||||||
|
|
||||||
|
|
||||||
-- search and replace every instance of word under cursor
|
|
||||||
cmap("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
|
|
|
@ -1,74 +0,0 @@
|
||||||
local o = vim.opt
|
|
||||||
|
|
||||||
o.number = true -- enable line number
|
|
||||||
o.relativenumber = true -- enable relative line number
|
|
||||||
o.undofile = true -- persistent undo
|
|
||||||
o.backup = false -- disable backup
|
|
||||||
o.autowrite = true -- auto write buffer when it's not focused
|
|
||||||
o.ignorecase = true -- case insensitive on search..
|
|
||||||
o.list = true -- display listchars
|
|
||||||
o.smartindent = true -- smarter indentation
|
|
||||||
o.splitright = true -- split right instead of left
|
|
||||||
o.splitkeep = "screen" -- stabilize split
|
|
||||||
o.startofline = false -- don't go to the start of the line when moving to another file
|
|
||||||
o.swapfile = false -- disable swapfile
|
|
||||||
o.termguicolors = true -- true colours for better experience
|
|
||||||
o.wrap = false -- don't wrap lines
|
|
||||||
o.backupcopy = "yes" -- fix weirdness for stuff that replaces the entire file when hot reloading
|
|
||||||
|
|
||||||
o.smarttab = false -- make tab behaviour smarter
|
|
||||||
o.tabstop = 4
|
|
||||||
o.softtabstop = 2
|
|
||||||
o.shiftwidth = 2
|
|
||||||
|
|
||||||
o.compatible = false -- disable compatibility with old vi
|
|
||||||
o.showmatch = true -- show matches while searching for text
|
|
||||||
o.hlsearch = true -- highlight text that has been searched
|
|
||||||
o.incsearch = true -- incramentally search
|
|
||||||
o.shiftwidth = 4
|
|
||||||
o.autoindent = true
|
|
||||||
o.wildmode = "longest,list"
|
|
||||||
o.mouse = "v"
|
|
||||||
o.mouse = "a"
|
|
||||||
o.clipboard = "unnamedplus" -- use system clipboard
|
|
||||||
o.ttyfast = true
|
|
||||||
o.cursorline = true
|
|
||||||
o.splitbelow = true
|
|
||||||
o.autochdir = true
|
|
||||||
o.signcolumn="yes:1"
|
|
||||||
o.shell = "/bin/zsh"
|
|
||||||
o.splitright = false
|
|
||||||
|
|
||||||
vim.api.nvim_command("filetype off")
|
|
||||||
vim.api.nvim_command("let &runtimepath.=',~/.vim/bundle/neoterm'")
|
|
||||||
vim.api.nvim_command("filetype plugin on")
|
|
||||||
vim.api.nvim_command("filetype plugin indent on")
|
|
||||||
vim.api.nvim_command("syntax on")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- disable builtin plugins as they are not needed
|
|
||||||
local disabled_built_ins = {
|
|
||||||
"netrw",
|
|
||||||
"netrwPlugin",
|
|
||||||
"netrwSettings",
|
|
||||||
"netrwFileHandlers",
|
|
||||||
"gzip",
|
|
||||||
"zip",
|
|
||||||
"zipPlugin",
|
|
||||||
"tar",
|
|
||||||
"tarPlugin",
|
|
||||||
"getscript",
|
|
||||||
"getscriptPlugin",
|
|
||||||
"vimball",
|
|
||||||
"vimballPlugin",
|
|
||||||
"2html_plugin",
|
|
||||||
"logipat",
|
|
||||||
"rrhelper",
|
|
||||||
"spellfile_plugin",
|
|
||||||
"matchit"
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, plugin in pairs(disabled_built_ins) do
|
|
||||||
vim.g["loaded_" .. plugin] = 1
|
|
||||||
end
|
|
|
@ -1,73 +0,0 @@
|
||||||
local bufferline = require('bufferline')
|
|
||||||
bufferline.setup {
|
|
||||||
options = {
|
|
||||||
mode = "buffers", -- set to "tabs" to only show tabpages instead
|
|
||||||
style_preset = bufferline.style_preset.default, -- or bufferline.style_preset.minimal,
|
|
||||||
themable = true, -- allows highlight groups to be overriden i.e. sets highlights as default
|
|
||||||
numbers = "none" ,
|
|
||||||
close_command = "bdelete! %d", -- can be a string | function, | false see "Mouse actions"
|
|
||||||
right_mouse_command = "bdelete! %d", -- can be a string | function | false, see "Mouse actions"
|
|
||||||
left_mouse_command = "buffer %d", -- can be a string | function, | false see "Mouse actions"
|
|
||||||
middle_mouse_command = nil, -- can be a string | function, | false see "Mouse actions"
|
|
||||||
indicator = {
|
|
||||||
icon = '/', -- this should be omitted if indicator style is not 'icon'
|
|
||||||
style = 'icon' ,
|
|
||||||
},
|
|
||||||
buffer_close_icon = '',
|
|
||||||
modified_icon = '●',
|
|
||||||
close_icon = '',
|
|
||||||
left_trunc_marker = '',
|
|
||||||
right_trunc_marker = '',
|
|
||||||
--- name_formatter can be used to change the buffer's label in the bufferline.
|
|
||||||
--- Please note some names can/will break the
|
|
||||||
--- bufferline so use this at your discretion knowing that it has
|
|
||||||
--- some limitations that will *NOT* be fixed.
|
|
||||||
max_name_length = 25,
|
|
||||||
max_prefix_length = 15, -- prefix used when a buffer is de-duplicated
|
|
||||||
truncate_names = true, -- whether or not tab names should be truncated
|
|
||||||
tab_size = 25,
|
|
||||||
diagnostics = false,
|
|
||||||
diagnostics_update_in_insert = false,
|
|
||||||
-- The diagnostics indicator can be set to nil to keep the buffer name highlight but delete the highlighting
|
|
||||||
-- NOTE: this will be called a lot so don't do any heavy processing here
|
|
||||||
offsets = {
|
|
||||||
{
|
|
||||||
filetype = "NvimTree",
|
|
||||||
text = "File Explorer" ,
|
|
||||||
text_align = "center",
|
|
||||||
separator = true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
color_icons = true , -- whether or not to add the filetype icon highlights
|
|
||||||
get_element_icon = function(element)
|
|
||||||
-- element consists of {filetype: string, path: string, extension: string, directory: string}
|
|
||||||
-- This can be used to change how bufferline fetches the icon
|
|
||||||
-- for an element e.g. a buffer or a tab.
|
|
||||||
-- e.g.
|
|
||||||
local icon, hl = require('nvim-web-devicons').get_icon_by_filetype(element.filetype, { default = false })
|
|
||||||
return icon, hl
|
|
||||||
-- or
|
|
||||||
end,
|
|
||||||
show_buffer_icons = true , -- disable filetype icons for buffers
|
|
||||||
show_buffer_close_icons = true ,
|
|
||||||
show_close_icon = true ,
|
|
||||||
show_tab_indicators = true ,
|
|
||||||
show_duplicate_prefix = true , -- whether to show duplicate buffer prefix
|
|
||||||
persist_buffer_sort = true, -- whether or not custom sorted buffers should persist
|
|
||||||
move_wraps_at_ends = false, -- whether or not the move command "wraps" at the first or last position
|
|
||||||
-- can also be a table containing 2 custom separators
|
|
||||||
-- [focused and unfocused]. eg: { '|', '|' }
|
|
||||||
separator_style = "thin" ,
|
|
||||||
enforce_regular_tabs = false ,
|
|
||||||
always_show_bufferline = true ,
|
|
||||||
hover = {
|
|
||||||
enabled = true,
|
|
||||||
delay = 200,
|
|
||||||
reveal = {'close'}
|
|
||||||
},
|
|
||||||
sort_by = 'insert_at_end', function(buffer_a, buffer_b)
|
|
||||||
-- add custom logic
|
|
||||||
return buffer_a.modified > buffer_b.modified
|
|
||||||
end
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,47 +0,0 @@
|
||||||
require'nvim-web-devicons'.setup {
|
|
||||||
-- your personnal icons can go here (to override)
|
|
||||||
-- you can specify color or cterm_color instead of specifying both of them
|
|
||||||
-- DevIcon will be appended to `name`
|
|
||||||
override = {
|
|
||||||
zsh = {
|
|
||||||
icon = "",
|
|
||||||
color = "#428850",
|
|
||||||
cterm_color = "65",
|
|
||||||
name = "Zsh"
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
-- globally enable different highlight colors per icon (default to true)
|
|
||||||
-- if set to false all icons will have the default icon's color
|
|
||||||
color_icons = true;
|
|
||||||
|
|
||||||
-- globally enable default icons (default to false)
|
|
||||||
-- will get overriden by `get_icons` option
|
|
||||||
default = true;
|
|
||||||
|
|
||||||
-- globally enable "strict" selection of icons - icon will be looked up in
|
|
||||||
-- different tables, first by filename, and if not found by extension; this
|
|
||||||
-- prevents cases when file doesn't have any extension but still gets some icon
|
|
||||||
-- because its name happened to match some extension (default to false)
|
|
||||||
strict = true;
|
|
||||||
|
|
||||||
-- same as `override` but specifically for overrides by filename
|
|
||||||
-- takes effect when `strict` is true
|
|
||||||
override_by_filename = {
|
|
||||||
[".gitignore"] = {
|
|
||||||
icon = "",
|
|
||||||
color = "#f1502f",
|
|
||||||
name = "Gitignore"
|
|
||||||
}
|
|
||||||
};
|
|
||||||
-- same as `override` but specifically for overrides by extension
|
|
||||||
-- takes effect when `strict` is true
|
|
||||||
override_by_extension = {
|
|
||||||
["log"] = {
|
|
||||||
icon = "",
|
|
||||||
color = "#81e043",
|
|
||||||
name = "Log"
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,63 +0,0 @@
|
||||||
require('FTerm').setup({
|
|
||||||
---Filetype of the terminal buffer
|
|
||||||
---@type string
|
|
||||||
ft = 'FTerm',
|
|
||||||
|
|
||||||
---Command to run inside the terminal
|
|
||||||
---NOTE: if given string[], it will skip the shell and directly executes the command
|
|
||||||
---@type fun():(string|string[])|string|string[]
|
|
||||||
cmd = os.getenv('SHELL'),
|
|
||||||
|
|
||||||
---Neovim's native window border. See `:h nvim_open_win` for more configuration options.
|
|
||||||
border = 'single',
|
|
||||||
|
|
||||||
---Close the terminal as soon as shell/command exits.
|
|
||||||
---Disabling this will mimic the native terminal behaviour.
|
|
||||||
---@type boolean
|
|
||||||
auto_close = false,
|
|
||||||
|
|
||||||
---Highlight group for the terminal. See `:h winhl`
|
|
||||||
---@type string
|
|
||||||
hl = 'Normal',
|
|
||||||
|
|
||||||
---Transparency of the floating window. See `:h winblend`
|
|
||||||
---@type integer
|
|
||||||
blend = 0,
|
|
||||||
|
|
||||||
---Object containing the terminal window dimensions.
|
|
||||||
---The value for each field should be between `0` and `1`
|
|
||||||
---@type table<string,number>
|
|
||||||
dimensions = {
|
|
||||||
height = 0.8, -- Height of the terminal window
|
|
||||||
width = 0.8, -- Width of the terminal window
|
|
||||||
x = 0.5, -- X axis of the terminal window
|
|
||||||
y = 0.5, -- Y axis of the terminal window
|
|
||||||
},
|
|
||||||
|
|
||||||
---Replace instead of extend the current environment with `env`.
|
|
||||||
---See `:h jobstart-options`
|
|
||||||
---@type boolean
|
|
||||||
clear_env = false,
|
|
||||||
|
|
||||||
---Map of environment variables extending the current environment.
|
|
||||||
---See `:h jobstart-options`
|
|
||||||
---@type table<string,string>|nil
|
|
||||||
env = nil,
|
|
||||||
|
|
||||||
---Callback invoked when the terminal exits.
|
|
||||||
---See `:h jobstart-options`
|
|
||||||
---@type fun()|nil
|
|
||||||
on_exit = nil,
|
|
||||||
|
|
||||||
---Callback invoked when the terminal emits stdout data.
|
|
||||||
---See `:h jobstart-options`
|
|
||||||
---@type fun()|nil
|
|
||||||
on_stdout = nil,
|
|
||||||
|
|
||||||
---Callback invoked when the terminal emits stderr data.
|
|
||||||
---See `:h jobstart-options`
|
|
||||||
---@type fun()|nil
|
|
||||||
on_stderr = nil,
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
|
@ -1,45 +0,0 @@
|
||||||
require('gitsigns').setup {
|
|
||||||
signs = {
|
|
||||||
add = { text = '▍' },
|
|
||||||
change = { text = '▍' },
|
|
||||||
delete = { text = '▍' },
|
|
||||||
topdelete = { text = '▍' },
|
|
||||||
changedelete = { text = '▍' },
|
|
||||||
untracked = { text = '▎' },
|
|
||||||
},
|
|
||||||
|
|
||||||
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
|
|
||||||
numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
|
|
||||||
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
|
|
||||||
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
|
|
||||||
|
|
||||||
watch_gitdir = {
|
|
||||||
follow_files = true
|
|
||||||
},
|
|
||||||
|
|
||||||
attach_to_untracked = true,
|
|
||||||
current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
|
|
||||||
|
|
||||||
current_line_blame_opts = {
|
|
||||||
virt_text = true,
|
|
||||||
virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
|
|
||||||
delay = 1000,
|
|
||||||
ignore_whitespace = false,
|
|
||||||
},
|
|
||||||
|
|
||||||
current_line_blame_formatter = '<author>, <author_time:%Y-%m-%d> - <summary>',
|
|
||||||
sign_priority = 6,
|
|
||||||
update_debounce = 100,
|
|
||||||
status_formatter = nil, -- Use default
|
|
||||||
max_file_length = 40000, -- Disable if file is longer than this (in lines)
|
|
||||||
|
|
||||||
preview_config = {
|
|
||||||
-- Options passed to nvim_open_win
|
|
||||||
border = 'single',
|
|
||||||
style = 'minimal',
|
|
||||||
relative = 'cursor',
|
|
||||||
row = 0,
|
|
||||||
col = 1
|
|
||||||
},
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
local harpoon = require("harpoon")
|
|
||||||
|
|
||||||
-- REQUIRED
|
|
||||||
harpoon:setup()
|
|
||||||
-- REQUIRED
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>a", function() harpoon:list():append() end)
|
|
||||||
vim.keymap.set("n", "<C-e>", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<C-h>", function() harpoon:list():select(1) end)
|
|
||||||
vim.keymap.set("n", "<C-t>", function() harpoon:list():select(2) end)
|
|
||||||
vim.keymap.set("n", "<C-n>", function() harpoon:list():select(3) end)
|
|
||||||
vim.keymap.set("n", "<C-s>", function() harpoon:list():select(4) end)
|
|
||||||
|
|
||||||
-- Toggle previous & next buffers stored within Harpoon list
|
|
||||||
vim.keymap.set("n", "<C-S-P>", function() harpoon:list():prev() end)
|
|
||||||
vim.keymap.set("n", "<C-S-N>", function() harpoon:list():next() end)
|
|
|
@ -1,39 +0,0 @@
|
||||||
require('hlchunk').setup({
|
|
||||||
indent = {
|
|
||||||
chars = { "·", "·", "·", "·", },
|
|
||||||
--chars = { "│", "¦", "┆", "┊", }, -- more code can be found in https://unicodeplus.com/
|
|
||||||
|
|
||||||
style = {
|
|
||||||
"#888888",
|
|
||||||
"#666666",
|
|
||||||
"#444444",
|
|
||||||
"#333333",
|
|
||||||
"#333333",
|
|
||||||
"#333333",
|
|
||||||
"#333333",
|
|
||||||
"#333333",
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
blank = {
|
|
||||||
enable = false,
|
|
||||||
},
|
|
||||||
|
|
||||||
chunk = {
|
|
||||||
chars = {
|
|
||||||
horizontal_line = "",
|
|
||||||
vertical_line = "",
|
|
||||||
left_top = "",
|
|
||||||
left_bottom = "",
|
|
||||||
right_arrow = "",
|
|
||||||
},
|
|
||||||
style = "#FF7F00",
|
|
||||||
},
|
|
||||||
|
|
||||||
line_num = {
|
|
||||||
style = "#FFFFFF",
|
|
||||||
},
|
|
||||||
|
|
||||||
})
|
|
|
@ -1,12 +0,0 @@
|
||||||
require("plugins.lazy")
|
|
||||||
require("plugins.harpoon")
|
|
||||||
require("plugins.treesitter")
|
|
||||||
require("plugins.lsp-zero")
|
|
||||||
require("plugins.devicons")
|
|
||||||
require("plugins.lualine")
|
|
||||||
require("plugins.hlblocks")
|
|
||||||
require("plugins.gitsigns")
|
|
||||||
require("plugins.wilder")
|
|
||||||
require("plugins.mini")
|
|
||||||
require("plugins.oil")
|
|
||||||
require("plugins.telescope")
|
|
|
@ -1,114 +0,0 @@
|
||||||
local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
|
|
||||||
|
|
||||||
if not vim.loop.fs_stat(lazypath) then
|
|
||||||
vim.fn.system({
|
|
||||||
'git',
|
|
||||||
'clone',
|
|
||||||
'--filter=blob:none',
|
|
||||||
'https://github.com/folke/lazy.nvim.git',
|
|
||||||
'--branch=stable', -- latest stable release
|
|
||||||
lazypath,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.opt.rtp:prepend(lazypath)
|
|
||||||
|
|
||||||
|
|
||||||
require('lazy').setup({
|
|
||||||
|
|
||||||
'EdenEast/nightfox.nvim',
|
|
||||||
'luckasRanarison/tree-sitter-hypr',
|
|
||||||
|
|
||||||
'lambdalisue/nerdfont.vim',
|
|
||||||
'gelguy/wilder.nvim',
|
|
||||||
|
|
||||||
'bkad/camelcasemotion',
|
|
||||||
'lewis6991/gitsigns.nvim',
|
|
||||||
|
|
||||||
{
|
|
||||||
'nvim-telescope/telescope.nvim',
|
|
||||||
tag = '0.1.8',
|
|
||||||
dependencies = {
|
|
||||||
'nvim-lua/plenary.nvim'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
'stevearc/oil.nvim',
|
|
||||||
dependencies = {
|
|
||||||
'nvim-tree/nvim-web-devicons'
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
'kylechui/nvim-surround',
|
|
||||||
version = '*', -- Use for stability; omit to use `main` branch for the latest features
|
|
||||||
config = function()
|
|
||||||
require('nvim-surround').setup()
|
|
||||||
end
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
'OXY2DEV/markview.nvim',
|
|
||||||
config = function()
|
|
||||||
require('markview').setup()
|
|
||||||
end
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
'shellRaining/hlchunk.nvim',
|
|
||||||
event = {
|
|
||||||
'UIEnter'
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
'ThePrimeagen/harpoon',
|
|
||||||
branch = 'harpoon2',
|
|
||||||
dependencies = {
|
|
||||||
'nvim-lua/plenary.nvim'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
'nvim-lualine/lualine.nvim',
|
|
||||||
dependencies =
|
|
||||||
{
|
|
||||||
'nvim-tree/nvim-web-devicons',
|
|
||||||
opt = true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
'nvim-treesitter/nvim-treesitter',
|
|
||||||
build = ':TSUpdate'
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
'VonHeikemen/lsp-zero.nvim',
|
|
||||||
branch = 'v3.x',
|
|
||||||
dependencies = {
|
|
||||||
-- LSP Support
|
|
||||||
{'neovim/nvim-lspconfig'}, -- Required
|
|
||||||
{'williamboman/mason.nvim'}, -- Optional
|
|
||||||
{'williamboman/mason-lspconfig.nvim'}, -- Optional
|
|
||||||
|
|
||||||
-- Autocompletion
|
|
||||||
{'hrsh7th/nvim-cmp'}, -- Required
|
|
||||||
{'hrsh7th/cmp-nvim-lsp'}, -- Required
|
|
||||||
{'L3MON4D3/LuaSnip'}, -- Required
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
'echasnovski/mini.nvim',
|
|
||||||
version = false
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
vim.opt.laststatus=2
|
|
||||||
|
|
||||||
-- vim.keymap.set('i', '<Tab>', [[pumvisible() ? '\<C-n>' : '\<Tab>']], { expr = true })
|
|
||||||
-- vim.keymap.set('i', '<S-Tab>', [[pumvisible() ? '\<C-p>' : '\<S-Tab>']], { expr = true })
|
|
|
@ -1,67 +0,0 @@
|
||||||
require('mason').setup()
|
|
||||||
local lsp = require('lsp-zero').preset({})
|
|
||||||
|
|
||||||
lsp.on_attach(function(client, bufnr)
|
|
||||||
-- see :help lsp-zero-keybindings
|
|
||||||
-- to learn the available actions
|
|
||||||
lsp.default_keymaps({buffer = bufnr})
|
|
||||||
end)
|
|
||||||
|
|
||||||
-- (Optional) Configure lua language server for neovim
|
|
||||||
require('lspconfig').lua_ls.setup(lsp.nvim_lua_ls())
|
|
||||||
|
|
||||||
|
|
||||||
require('lspconfig').pylsp.setup{
|
|
||||||
settings = {
|
|
||||||
pylsp = {
|
|
||||||
plugins = {
|
|
||||||
pycodestyle = {
|
|
||||||
ignore = {'W391', 'E303', 'E226'},
|
|
||||||
maxLineLength = 120
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
lsp.setup()
|
|
||||||
|
|
||||||
-- You need to setup `cmp` after lsp-zero
|
|
||||||
local cmp = require('cmp')
|
|
||||||
local cmp_action = require('lsp-zero').cmp_action()
|
|
||||||
|
|
||||||
|
|
||||||
cmp.setup({
|
|
||||||
mapping = {
|
|
||||||
-- `Enter` key to confirm completion
|
|
||||||
['<CR>'] = cmp.mapping.confirm({select = true}),
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- Cycle with tab, as intended by divine creation
|
|
||||||
["<Tab>"] = cmp.mapping(function(fallback)
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_next_item()
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, {"i", "s"}),
|
|
||||||
|
|
||||||
|
|
||||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_prev_item()
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, {"i", "s"}),
|
|
||||||
|
|
||||||
|
|
||||||
-- Ctrl+Space to trigger completion menu
|
|
||||||
['<C-Space>'] = cmp.mapping.complete(),
|
|
||||||
|
|
||||||
-- Navigate between snippet placeholder
|
|
||||||
['<C-f>'] = cmp_action.luasnip_jump_forward(),
|
|
||||||
['<C-b>'] = cmp_action.luasnip_jump_backward(),
|
|
||||||
}
|
|
||||||
})
|
|
|
@ -1,226 +0,0 @@
|
||||||
-- Eviline config for lualine
|
|
||||||
-- Author: shadmansaleh
|
|
||||||
-- Credit: glepnir
|
|
||||||
local lualine = require('lualine')
|
|
||||||
|
|
||||||
-- Color table for highlights
|
|
||||||
-- stylua: ignore
|
|
||||||
local colors = {
|
|
||||||
bg = '#202328',
|
|
||||||
fg = '#bbc2cf',
|
|
||||||
yellow = '#ECBE7B',
|
|
||||||
cyan = '#008080',
|
|
||||||
darkblue = '#081633',
|
|
||||||
green = '#98be65',
|
|
||||||
orange = '#FF8800',
|
|
||||||
violet = '#a9a1e1',
|
|
||||||
magenta = '#c678dd',
|
|
||||||
blue = '#51afef',
|
|
||||||
red = '#ec5f67',
|
|
||||||
}
|
|
||||||
|
|
||||||
local conditions = {
|
|
||||||
buffer_not_empty = function()
|
|
||||||
return vim.fn.empty(vim.fn.expand('%:t')) ~= 1
|
|
||||||
end,
|
|
||||||
hide_in_width = function()
|
|
||||||
return vim.fn.winwidth(0) > 80
|
|
||||||
end,
|
|
||||||
check_git_workspace = function()
|
|
||||||
local filepath = vim.fn.expand('%:p:h')
|
|
||||||
local gitdir = vim.fn.finddir('.git', filepath .. ';')
|
|
||||||
return gitdir and #gitdir > 0 and #gitdir < #filepath
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Config
|
|
||||||
local config = {
|
|
||||||
options = {
|
|
||||||
-- Disable sections and component separators
|
|
||||||
component_separators = '',
|
|
||||||
section_separators = '',
|
|
||||||
theme = {
|
|
||||||
-- We are going to use lualine_c an lualine_x as left and
|
|
||||||
-- right section. Both are highlighted by c theme . So we
|
|
||||||
-- are just setting default looks o statusline
|
|
||||||
normal = { c = { fg = colors.fg, bg = colors.bg } },
|
|
||||||
inactive = { c = { fg = colors.fg, bg = colors.bg } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
sections = {
|
|
||||||
-- these are to remove the defaults
|
|
||||||
lualine_a = {},
|
|
||||||
lualine_b = {},
|
|
||||||
lualine_y = {},
|
|
||||||
lualine_z = {},
|
|
||||||
-- These will be filled later
|
|
||||||
lualine_c = {},
|
|
||||||
lualine_x = {},
|
|
||||||
},
|
|
||||||
inactive_sections = {
|
|
||||||
-- these are to remove the defaults
|
|
||||||
lualine_a = {},
|
|
||||||
lualine_b = {},
|
|
||||||
lualine_y = {},
|
|
||||||
lualine_z = {},
|
|
||||||
lualine_c = {},
|
|
||||||
lualine_x = {},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Inserts a component in lualine_c at left section
|
|
||||||
local function ins_left(component)
|
|
||||||
table.insert(config.sections.lualine_c, component)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Inserts a component in lualine_x at right section
|
|
||||||
local function ins_right(component)
|
|
||||||
table.insert(config.sections.lualine_x, component)
|
|
||||||
end
|
|
||||||
|
|
||||||
ins_left {
|
|
||||||
function()
|
|
||||||
return '▊'
|
|
||||||
end,
|
|
||||||
color = { fg = colors.blue }, -- Sets highlighting of component
|
|
||||||
padding = { left = 0, right = 1 }, -- We don't need space before this
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ins_left {
|
|
||||||
-- mode component
|
|
||||||
function()
|
|
||||||
return ''
|
|
||||||
end,
|
|
||||||
color = function()
|
|
||||||
-- auto change color according to neovims mode
|
|
||||||
local mode_color = {
|
|
||||||
n = colors.blue,
|
|
||||||
i = colors.red,
|
|
||||||
v = colors.green,
|
|
||||||
[''] = colors.orange,
|
|
||||||
V = colors.green,
|
|
||||||
c = colors.magenta,
|
|
||||||
no = colors.red,
|
|
||||||
s = colors.orange,
|
|
||||||
S = colors.orange,
|
|
||||||
[''] = colors.orange,
|
|
||||||
ic = colors.yellow,
|
|
||||||
R = colors.violet,
|
|
||||||
Rv = colors.violet,
|
|
||||||
cv = colors.red,
|
|
||||||
ce = colors.red,
|
|
||||||
r = colors.cyan,
|
|
||||||
rm = colors.cyan,
|
|
||||||
['r?'] = colors.cyan,
|
|
||||||
['!'] = colors.red,
|
|
||||||
t = colors.red,
|
|
||||||
}
|
|
||||||
return { fg = mode_color[vim.fn.mode()] }
|
|
||||||
end,
|
|
||||||
padding = { right = 1 },
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
ins_left {
|
|
||||||
'branch',
|
|
||||||
icon = '',
|
|
||||||
color = { fg = colors.violet, gui = 'bold' },
|
|
||||||
}
|
|
||||||
|
|
||||||
ins_left {
|
|
||||||
'diff',
|
|
||||||
-- Is it me or the symbol for modified us really weird
|
|
||||||
symbols = { added = ' ', modified = ' ', removed = ' ' },
|
|
||||||
diff_color = {
|
|
||||||
added = { fg = colors.green },
|
|
||||||
modified = { fg = colors.orange },
|
|
||||||
removed = { fg = colors.red },
|
|
||||||
},
|
|
||||||
cond = conditions.hide_in_width,
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ins_left {
|
|
||||||
'diagnostics',
|
|
||||||
sources = { 'nvim_diagnostic' },
|
|
||||||
symbols = { error = ' ', warn = ' ', info = ' ' },
|
|
||||||
diagnostics_color = {
|
|
||||||
color_error = { fg = colors.red },
|
|
||||||
color_warn = { fg = colors.yellow },
|
|
||||||
color_info = { fg = colors.cyan },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Insert mid section. You can make any number of sections in neovim :)
|
|
||||||
-- for lualine it's any number greater then 2
|
|
||||||
ins_left {
|
|
||||||
function()
|
|
||||||
return '%='
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ins_left {
|
|
||||||
'filename',
|
|
||||||
cond = conditions.buffer_not_empty,
|
|
||||||
color = { fg = colors.magenta, gui = 'bold' },
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ins_right {
|
|
||||||
-- filesize component
|
|
||||||
'filesize',
|
|
||||||
cond = conditions.buffer_not_empty,
|
|
||||||
}
|
|
||||||
|
|
||||||
ins_right {
|
|
||||||
'progress',
|
|
||||||
color = {
|
|
||||||
fg = colors.fg,
|
|
||||||
gui = 'bold'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- Add components to right sections
|
|
||||||
ins_right {
|
|
||||||
'o:encoding', -- option component same as &encoding in viml
|
|
||||||
fmt = string.upper, -- I'm not sure why it's upper case either ;)
|
|
||||||
cond = conditions.hide_in_width,
|
|
||||||
color = { fg = colors.green, gui = 'bold' },
|
|
||||||
}
|
|
||||||
|
|
||||||
ins_right {
|
|
||||||
'fileformat',
|
|
||||||
fmt = string.upper,
|
|
||||||
icons_enabled = false, -- I think icons are cool but Eviline doesn't have them. sigh
|
|
||||||
color = {
|
|
||||||
fg = colors.green,
|
|
||||||
gui = 'bold'
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
ins_right {
|
|
||||||
function()
|
|
||||||
return '▊'
|
|
||||||
end,
|
|
||||||
color = {
|
|
||||||
fg = colors.blue
|
|
||||||
},
|
|
||||||
padding = {
|
|
||||||
left = 1
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Now don't forget to initialize lualine
|
|
||||||
lualine.setup(config)
|
|
|
@ -1,149 +0,0 @@
|
||||||
require('mini.cursorword').setup()
|
|
||||||
require('mini.trailspace').setup()
|
|
||||||
require('mini.pairs').setup()
|
|
||||||
|
|
||||||
|
|
||||||
local miniclue = require('mini.clue')
|
|
||||||
miniclue.setup({
|
|
||||||
triggers = {
|
|
||||||
-- Leader triggers
|
|
||||||
{ mode = 'n', keys = '<Leader>' },
|
|
||||||
{ mode = 'x', keys = '<Leader>' },
|
|
||||||
|
|
||||||
-- Built-in completion
|
|
||||||
{ mode = 'i', keys = '<C-x>' },
|
|
||||||
|
|
||||||
-- `g` key
|
|
||||||
{ mode = 'n', keys = 'g' },
|
|
||||||
{ mode = 'x', keys = 'g' },
|
|
||||||
|
|
||||||
-- Marks
|
|
||||||
{ mode = 'n', keys = "'" },
|
|
||||||
{ mode = 'n', keys = '`' },
|
|
||||||
{ mode = 'x', keys = "'" },
|
|
||||||
{ mode = 'x', keys = '`' },
|
|
||||||
|
|
||||||
-- Registers
|
|
||||||
{ mode = 'n', keys = '"' },
|
|
||||||
{ mode = 'x', keys = '"' },
|
|
||||||
{ mode = 'i', keys = '<C-r>' },
|
|
||||||
{ mode = 'c', keys = '<C-r>' },
|
|
||||||
|
|
||||||
-- Window commands
|
|
||||||
{ mode = 'n', keys = '<C-w>' },
|
|
||||||
|
|
||||||
-- `z` key
|
|
||||||
{ mode = 'n', keys = 'z' },
|
|
||||||
{ mode = 'x', keys = 'z' },
|
|
||||||
},
|
|
||||||
|
|
||||||
clues = {
|
|
||||||
-- Enhance this by adding descriptions for <Leader> mapping groups
|
|
||||||
miniclue.gen_clues.builtin_completion(),
|
|
||||||
miniclue.gen_clues.g(),
|
|
||||||
miniclue.gen_clues.marks(),
|
|
||||||
miniclue.gen_clues.registers(),
|
|
||||||
miniclue.gen_clues.windows(),
|
|
||||||
miniclue.gen_clues.z(),
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Array of opt-in triggers which start custom key query process.
|
|
||||||
-- **Needs to have something in order to show clues**.
|
|
||||||
-- Clue window settings
|
|
||||||
window = {
|
|
||||||
-- Floating window config
|
|
||||||
config = {},
|
|
||||||
|
|
||||||
-- Delay before showing clue window
|
|
||||||
delay = 200,
|
|
||||||
|
|
||||||
-- Keys to scroll inside the clue window
|
|
||||||
scroll_down = '<C-d>',
|
|
||||||
scroll_up = '<C-u>',
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
require('mini.surround').setup(
|
|
||||||
{
|
|
||||||
-- Add custom surroundings to be used on top of builtin ones. For more
|
|
||||||
-- information with examples, see `:h MiniSurround.config`.
|
|
||||||
custom_surroundings = nil,
|
|
||||||
|
|
||||||
-- Duration (in ms) of highlight when calling `MiniSurround.highlight()`
|
|
||||||
highlight_duration = 500,
|
|
||||||
|
|
||||||
-- Module mappings. Use `''` (empty string) to disable one.
|
|
||||||
mappings = {
|
|
||||||
add = 'sa', -- Add surrounding in Normal and Visual modes
|
|
||||||
delete = 'sd', -- Delete surrounding
|
|
||||||
find = 'sf', -- Find surrounding (to the right)
|
|
||||||
find_left = 'sF', -- Find surrounding (to the left)
|
|
||||||
highlight = 'sh', -- Highlight surrounding
|
|
||||||
replace = 'sr', -- Replace surrounding
|
|
||||||
update_n_lines = 'sn', -- Update `n_lines`
|
|
||||||
|
|
||||||
suffix_last = 'l', -- Suffix to search with "prev" method
|
|
||||||
suffix_next = 'n', -- Suffix to search with "next" method
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Number of lines within which surrounding is searched
|
|
||||||
n_lines = 20,
|
|
||||||
|
|
||||||
-- Whether to respect selection type:
|
|
||||||
-- - Place surroundings on separate lines in linewise mode.
|
|
||||||
-- - Place surroundings on each line in blockwise mode.
|
|
||||||
respect_selection_type = false,
|
|
||||||
|
|
||||||
-- How to search for surrounding (first inside current line, then inside
|
|
||||||
-- neighborhood). One of 'cover', 'cover_or_next', 'cover_or_prev',
|
|
||||||
-- 'cover_or_nearest', 'next', 'prev', 'nearest'. For more details,
|
|
||||||
-- see `:h MiniSurround.config`.
|
|
||||||
search_method = 'cover',
|
|
||||||
|
|
||||||
-- Whether to disable showing non-error feedback
|
|
||||||
silent = false,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
require('mini.starter').setup(
|
|
||||||
{
|
|
||||||
-- Whether to open starter buffer on VimEnter. Not opened if Neovim was
|
|
||||||
-- started with intent to show something else.
|
|
||||||
autoopen = true,
|
|
||||||
|
|
||||||
-- Whether to evaluate action of single active item
|
|
||||||
evaluate_single = false,
|
|
||||||
|
|
||||||
-- Items to be displayed. Should be an array with the following elements:
|
|
||||||
-- - Item: table with <action>, <name>, and <section> keys.
|
|
||||||
-- - Function: should return one of these three categories.
|
|
||||||
-- - Array: elements of these three types (i.e. item, array, function).
|
|
||||||
-- If `nil` (default), default items will be used (see |mini.starter|).
|
|
||||||
items = nil,
|
|
||||||
|
|
||||||
-- Header to be displayed before items. Converted to single string via
|
|
||||||
-- `tostring` (use `\n` to display several lines). If function, it is
|
|
||||||
-- evaluated first. If `nil` (default), polite greeting will be used.
|
|
||||||
header = nil,
|
|
||||||
|
|
||||||
-- Footer to be displayed after items. Converted to single string via
|
|
||||||
-- `tostring` (use `\n` to display several lines). If function, it is
|
|
||||||
-- evaluated first. If `nil` (default), default usage help will be shown.
|
|
||||||
footer = nil,
|
|
||||||
|
|
||||||
-- Array of functions to be applied consecutively to initial content.
|
|
||||||
-- Each function should take and return content for 'Starter' buffer (see
|
|
||||||
-- |mini.starter| and |MiniStarter.content| for more details).
|
|
||||||
content_hooks = nil,
|
|
||||||
|
|
||||||
-- Characters to update query. Each character will have special buffer
|
|
||||||
-- mapping overriding your global ones. Be careful to not add `:` as it
|
|
||||||
-- allows you to go into command mode.
|
|
||||||
query_updaters = 'abcdefghijklmnopqrstuvwxyz0123456789_-.',
|
|
||||||
|
|
||||||
-- Whether to disable showing non-error feedback
|
|
||||||
silent = false,
|
|
||||||
}
|
|
||||||
)
|
|
|
@ -1,23 +0,0 @@
|
||||||
-- disable netrw at the very start of your init.lua
|
|
||||||
vim.g.loaded_netrw = 1
|
|
||||||
vim.g.loaded_netrwPlugin = 1
|
|
||||||
|
|
||||||
-- set termguicolors to enable highlight groups
|
|
||||||
vim.opt.termguicolors = true
|
|
||||||
|
|
||||||
-- empty setup using defaults
|
|
||||||
require("nvim-tree").setup()
|
|
||||||
|
|
||||||
-- OR setup with some options
|
|
||||||
require("nvim-tree").setup({
|
|
||||||
sort_by = "case_sensitive",
|
|
||||||
view = {
|
|
||||||
width = 30,
|
|
||||||
},
|
|
||||||
renderer = {
|
|
||||||
group_empty = true,
|
|
||||||
},
|
|
||||||
filters = {
|
|
||||||
dotfiles = true,
|
|
||||||
},
|
|
||||||
})
|
|
|
@ -1,177 +0,0 @@
|
||||||
require("oil").setup({
|
|
||||||
-- Oil will take over directory buffers (e.g. `vim .` or `:e src/`)
|
|
||||||
-- Set to false if you still want to use netrw.
|
|
||||||
default_file_explorer = true,
|
|
||||||
-- Id is automatically added at the beginning, and name at the end
|
|
||||||
-- See :help oil-columns
|
|
||||||
columns = {
|
|
||||||
"icon",
|
|
||||||
-- "permissions",
|
|
||||||
-- "size",
|
|
||||||
-- "mtime",
|
|
||||||
},
|
|
||||||
-- Buffer-local options to use for oil buffers
|
|
||||||
buf_options = {
|
|
||||||
buflisted = false,
|
|
||||||
bufhidden = "hide",
|
|
||||||
},
|
|
||||||
-- Window-local options to use for oil buffers
|
|
||||||
win_options = {
|
|
||||||
wrap = false,
|
|
||||||
signcolumn = "no",
|
|
||||||
cursorcolumn = false,
|
|
||||||
foldcolumn = "0",
|
|
||||||
spell = false,
|
|
||||||
list = false,
|
|
||||||
conceallevel = 3,
|
|
||||||
concealcursor = "nvic",
|
|
||||||
},
|
|
||||||
-- Send deleted files to the trash instead of permanently deleting them (:help oil-trash)
|
|
||||||
delete_to_trash = false,
|
|
||||||
-- Skip the confirmation popup for simple operations (:help oil.skip_confirm_for_simple_edits)
|
|
||||||
skip_confirm_for_simple_edits = false,
|
|
||||||
-- Selecting a new/moved/renamed file or directory will prompt you to save changes first
|
|
||||||
-- (:help prompt_save_on_select_new_entry)
|
|
||||||
prompt_save_on_select_new_entry = true,
|
|
||||||
-- Oil will automatically delete hidden buffers after this delay
|
|
||||||
-- You can set the delay to false to disable cleanup entirely
|
|
||||||
-- Note that the cleanup process only starts when none of the oil buffers are currently displayed
|
|
||||||
cleanup_delay_ms = 2000,
|
|
||||||
lsp_file_methods = {
|
|
||||||
-- Time to wait for LSP file operations to complete before skipping
|
|
||||||
timeout_ms = 1000,
|
|
||||||
-- Set to true to autosave buffers that are updated with LSP willRenameFiles
|
|
||||||
-- Set to "unmodified" to only save unmodified buffers
|
|
||||||
autosave_changes = false,
|
|
||||||
},
|
|
||||||
-- Constrain the cursor to the editable parts of the oil buffer
|
|
||||||
-- Set to `false` to disable, or "name" to keep it on the file names
|
|
||||||
constrain_cursor = "editable",
|
|
||||||
-- Set to true to watch the filesystem for changes and reload oil
|
|
||||||
experimental_watch_for_changes = false,
|
|
||||||
-- Keymaps in oil buffer. Can be any value that `vim.keymap.set` accepts OR a table of keymap
|
|
||||||
-- options with a `callback` (e.g. { callback = function() ... end, desc = "", mode = "n" })
|
|
||||||
-- Additionally, if it is a string that matches "actions.<name>",
|
|
||||||
-- it will use the mapping at require("oil.actions").<name>
|
|
||||||
-- Set to `false` to remove a keymap
|
|
||||||
-- See :help oil-actions for a list of all available actions
|
|
||||||
keymaps = {
|
|
||||||
["g?"] = "actions.show_help",
|
|
||||||
["<CR>"] = "actions.select",
|
|
||||||
["<C-s>"] = "actions.select_vsplit",
|
|
||||||
["<C-h>"] = "actions.select_split",
|
|
||||||
["<C-t>"] = "actions.select_tab",
|
|
||||||
["<C-p>"] = "actions.preview",
|
|
||||||
["<C-c>"] = "actions.close",
|
|
||||||
["<C-l>"] = "actions.refresh",
|
|
||||||
["-"] = "actions.parent",
|
|
||||||
["_"] = "actions.open_cwd",
|
|
||||||
["`"] = "actions.cd",
|
|
||||||
["~"] = "actions.tcd",
|
|
||||||
["gs"] = "actions.change_sort",
|
|
||||||
["gx"] = "actions.open_external",
|
|
||||||
["g."] = "actions.toggle_hidden",
|
|
||||||
["g\\"] = "actions.toggle_trash",
|
|
||||||
},
|
|
||||||
-- Set to false to disable all of the above keymaps
|
|
||||||
use_default_keymaps = true,
|
|
||||||
view_options = {
|
|
||||||
-- Show files and directories that start with "."
|
|
||||||
show_hidden = false,
|
|
||||||
-- This function defines what is considered a "hidden" file
|
|
||||||
is_hidden_file = function(name, bufnr)
|
|
||||||
return vim.startswith(name, ".")
|
|
||||||
end,
|
|
||||||
-- This function defines what will never be shown, even when `show_hidden` is set
|
|
||||||
is_always_hidden = function(name, bufnr)
|
|
||||||
return false
|
|
||||||
end,
|
|
||||||
-- Sort file names in a more intuitive order for humans. Is less performant,
|
|
||||||
-- so you may want to set to false if you work with large directories.
|
|
||||||
natural_order = true,
|
|
||||||
sort = {
|
|
||||||
-- sort order can be "asc" or "desc"
|
|
||||||
-- see :help oil-columns to see which columns are sortable
|
|
||||||
{ "type", "asc" },
|
|
||||||
{ "name", "asc" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- Extra arguments to pass to SCP when moving/copying files over SSH
|
|
||||||
extra_scp_args = {},
|
|
||||||
-- EXPERIMENTAL support for performing file operations with git
|
|
||||||
git = {
|
|
||||||
-- Return true to automatically git add/mv/rm files
|
|
||||||
add = function(path)
|
|
||||||
return false
|
|
||||||
end,
|
|
||||||
mv = function(src_path, dest_path)
|
|
||||||
return false
|
|
||||||
end,
|
|
||||||
rm = function(path)
|
|
||||||
return false
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
-- Configuration for the floating window in oil.open_float
|
|
||||||
float = {
|
|
||||||
-- Padding around the floating window
|
|
||||||
padding = 2,
|
|
||||||
max_width = 0,
|
|
||||||
max_height = 0,
|
|
||||||
border = "rounded",
|
|
||||||
win_options = {
|
|
||||||
winblend = 0,
|
|
||||||
},
|
|
||||||
-- This is the config that will be passed to nvim_open_win.
|
|
||||||
-- Change values here to customize the layout
|
|
||||||
override = function(conf)
|
|
||||||
return conf
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
-- Configuration for the actions floating preview window
|
|
||||||
preview = {
|
|
||||||
-- Width dimensions can be integers or a float between 0 and 1 (e.g. 0.4 for 40%)
|
|
||||||
-- min_width and max_width can be a single value or a list of mixed integer/float types.
|
|
||||||
-- max_width = {100, 0.8} means "the lesser of 100 columns or 80% of total"
|
|
||||||
max_width = 0.9,
|
|
||||||
-- min_width = {40, 0.4} means "the greater of 40 columns or 40% of total"
|
|
||||||
min_width = { 40, 0.4 },
|
|
||||||
-- optionally define an integer/float for the exact width of the preview window
|
|
||||||
width = nil,
|
|
||||||
-- Height dimensions can be integers or a float between 0 and 1 (e.g. 0.4 for 40%)
|
|
||||||
-- min_height and max_height can be a single value or a list of mixed integer/float types.
|
|
||||||
-- max_height = {80, 0.9} means "the lesser of 80 columns or 90% of total"
|
|
||||||
max_height = 0.9,
|
|
||||||
-- min_height = {5, 0.1} means "the greater of 5 columns or 10% of total"
|
|
||||||
min_height = { 5, 0.1 },
|
|
||||||
-- optionally define an integer/float for the exact height of the preview window
|
|
||||||
height = nil,
|
|
||||||
border = "rounded",
|
|
||||||
win_options = {
|
|
||||||
winblend = 0,
|
|
||||||
},
|
|
||||||
-- Whether the preview window is automatically updated when the cursor is moved
|
|
||||||
update_on_cursor_moved = true,
|
|
||||||
},
|
|
||||||
-- Configuration for the floating progress window
|
|
||||||
progress = {
|
|
||||||
max_width = 0.9,
|
|
||||||
min_width = { 40, 0.4 },
|
|
||||||
width = nil,
|
|
||||||
max_height = { 10, 0.9 },
|
|
||||||
min_height = { 5, 0.1 },
|
|
||||||
height = nil,
|
|
||||||
border = "rounded",
|
|
||||||
minimized_border = "none",
|
|
||||||
win_options = {
|
|
||||||
winblend = 0,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- Configuration for the floating SSH window
|
|
||||||
ssh = {
|
|
||||||
border = "rounded",
|
|
||||||
},
|
|
||||||
-- Configuration for the floating keymaps help window
|
|
||||||
keymaps_help = {
|
|
||||||
border = "rounded",
|
|
||||||
},
|
|
||||||
})
|
|
|
@ -1,30 +0,0 @@
|
||||||
require('telescope').setup{
|
|
||||||
defaults = {
|
|
||||||
-- Default configuration for telescope goes here:
|
|
||||||
-- config_key = value,
|
|
||||||
mappings = {
|
|
||||||
i = {
|
|
||||||
-- map actions.which_key to <C-h> (default: <C-/>)
|
|
||||||
-- actions.which_key shows the mappings for your picker,
|
|
||||||
-- e.g. git_{create, delete, ...}_branch for the git_branches picker
|
|
||||||
["<C-h>"] = "which_key"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
pickers = {
|
|
||||||
-- Default configuration for builtin pickers goes here:
|
|
||||||
-- picker_name = {
|
|
||||||
-- picker_config_key = value,
|
|
||||||
-- ...
|
|
||||||
-- }
|
|
||||||
-- Now the picker_config_key will be applied every time you call this
|
|
||||||
-- builtin picker
|
|
||||||
},
|
|
||||||
extensions = {
|
|
||||||
-- Your extension configuration goes here:
|
|
||||||
-- extension_name = {
|
|
||||||
-- extension_config_key = value,
|
|
||||||
-- }
|
|
||||||
-- please take a look at the readme of the extension you want to configure
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,27 +0,0 @@
|
||||||
require'nvim-treesitter.configs'.setup {
|
|
||||||
-- A list of parser names, or "all" (the five listed parsers should always be installed)
|
|
||||||
ensure_installed = { "c", "lua", "vim", "vimdoc", "query", "haskell", "go", "bash", "python" },
|
|
||||||
|
|
||||||
-- Install parsers synchronously (only applied to `ensure_installed`)
|
|
||||||
sync_install = false,
|
|
||||||
|
|
||||||
-- Automatically install missing parsers when entering buffer
|
|
||||||
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
|
|
||||||
auto_install = true,
|
|
||||||
|
|
||||||
highlight = {
|
|
||||||
enable = true,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
|
|
||||||
parser_config.hypr = {
|
|
||||||
install_info = {
|
|
||||||
url = "https://github.com/luckasRanarison/tree-sitter-hypr",
|
|
||||||
files = { "src/parser.c" },
|
|
||||||
branch = "master",
|
|
||||||
},
|
|
||||||
filetype = "hypr",
|
|
||||||
}
|
|
|
@ -1,28 +0,0 @@
|
||||||
local wilder = require('wilder')
|
|
||||||
wilder.setup({modes = {':', '/', '?'}})
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
wilder.set_option('renderer', wilder.renderer_mux({
|
|
||||||
[':'] = wilder.popupmenu_renderer({
|
|
||||||
highlighter = wilder.basic_highlighter(),
|
|
||||||
left = {' ', wilder.popupmenu_devicons()},
|
|
||||||
right = {' ', wilder.popupmenu_scrollbar()},
|
|
||||||
}),
|
|
||||||
['/'] = wilder.wildmenu_renderer({
|
|
||||||
highlighter = wilder.basic_highlighter(),
|
|
||||||
left = {' ', wilder.popupmenu_devicons()},
|
|
||||||
right = {' ', wilder.popupmenu_scrollbar()},
|
|
||||||
}),
|
|
||||||
}))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
wilder.set_option('renderer', wilder.popupmenu_renderer({
|
|
||||||
highlighter = wilder.basic_highlighter(),
|
|
||||||
left = {' ', wilder.popupmenu_devicons()},
|
|
||||||
right = {' ', wilder.popupmenu_scrollbar()},
|
|
||||||
max_height = '20%',
|
|
||||||
min_width = '100%'
|
|
||||||
}))
|
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB |
Loading…
Reference in a new issue