This commit is contained in:
christianchiarulli 2021-04-15 00:17:48 -04:00
parent 1853b4f2aa
commit 2cd8c6a21c
53 changed files with 331 additions and 712 deletions

View file

@ -1,28 +1,33 @@
![NVCode Logo](./utils/media/nvcode_logo.png) ```
_..._
.' (_`. _ __ ___
: . : | | _ _ _ __ __ _ _ _\ \ / (_)_ __ ___
:) () : | | | | | | '_ \ / _` | '__\ \ / /| | '_ ` _ \
`. . .' | |__| |_| | | | | (_| | | \ V / | | | | | | |
`-...-' |_____\__,_|_| |_|\__,_|_| \_/ |_|_| |_| |_|
```
<a href="https://discord.gg/Xb9B4Ny"><img src="https://img.shields.io/discord/308323056592486420?logo=discord" alt="chat on Discord"></a> [![GitHub license](https://img.shields.io/github/license/ChristianChiarulli/lunarvim)](https://github.com/ChristianChiarulli/lunarvim/blob/master/LICENSE)
[![GitHub license](https://img.shields.io/github/license/ChristianChiarulli/nvcode)](https://github.com/ChristianChiarulli/nvcode/blob/master/LICENSE) [![Open Source? Yes!](https://badgen.net/badge/Open%20Source%20%3F/Yes%21/blue?icon=github)](https://github.com/ChristianChiarulli/lunarvim)
[![Open Source? Yes!](https://badgen.net/badge/Open%20Source%20%3F/Yes%21/blue?icon=github)](https://github.com/ChristianChiarulli/nvcode)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
<a href="https://patreon.com/chrisatmachine" title="Donate to this project using Patreon"><img src="https://img.shields.io/badge/patreon-donate-yellow.svg" alt="Patreon donate button" /></a> <a href="https://patreon.com/chrisatmachine" title="Donate to this project using Patreon"><img src="https://img.shields.io/badge/patreon-donate-yellow.svg" alt="Patreon donate button" /></a>
<a href="https://twitter.com/intent/follow?screen_name=chrisatmachine"><img src="https://img.shields.io/twitter/follow/chrisatmachine?style=social&logo=twitter" alt="follow on Twitter"></a> <a href="https://twitter.com/intent/follow?screen_name=chrisatmachine"><img src="https://img.shields.io/twitter/follow/chrisatmachine?style=social&logo=twitter" alt="follow on Twitter"></a>
![LunarVim Demo](./utils/media/demo.png)
1. This project aims to help one transition away from VSCode, and into a superior text editing experience. (Just making this clear)
2. This is also a community project, if you would like to see support for a feature or [language](https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md) consider making a PR.
![NVCode Demo](./utils/media/demo.png) 3. This project will do it's best to include core features you would expect from a modern IDE, while making it easy to add or remove what the user wants.
This project aims to help one transition away from VSCode, and into a superior text editing experience. (Just making this clear)
This is also a community project, if you would like to see support for a feature or language consider making a PR.
## Install In One Command! ## Install In One Command!
Make sure you have the newest version of Neovim Make sure you have the newest version of Neovim
``` bash ``` bash
bash <(curl -s https://raw.githubusercontent.com/ChristianChiarulli/nvim/master/utils/installer/install.sh) bash <(curl -s https://raw.githubusercontent.com/ChristianChiarulli/lunarvim/master/utils/installer/install.sh)
``` ```
After installation run `nvim` and then `:PackerInstall` After installation run `nvim` and then `:PackerInstall`
@ -43,30 +48,6 @@ or if you are on Arch you can get it from the AUR
yay -S neovim-nightly-git yay -S neovim-nightly-git
``` ```
## VSCode support
I recommend you support Free/Libre versions if you plan to use VSCode:
- [VSCodium](https://vscodium.com/)
- Article to get you set up with VSCodium: [link](https://www.chrisatmachine.com/Neovim/22-vscodium-neovim/)
After installing the [Neovim
extension](https://github.com/asvetliakov/vscode-neovim) in VSCode
I recommend using this alongside the VSCode
[which-key](https://github.com/VSpaceCode/vscode-which-key) extension
You will also need `settings.json` and `keybindings.json` which can be
found in utils/vscode\_config
Point the nvim path to your `nvim` binary
Point your `init.vim` path to:
``` vim
$HOME/.config/nvim/vimscript/nv-vscode/init.vim
```
## Clipboard Support ## Clipboard Support
@ -110,16 +91,12 @@ For a more in depth LSP support:
## Useful Programs ## Useful Programs
LunarVim depends on the following:
``` bash ``` bash
ranger ranger
ueberzug ueberzug
fd
ripgrep ripgrep
jq
fzf
lazygit
lazydocker
ncdu
pynvim pynvim
neovim-remote neovim-remote
``` ```
@ -160,24 +137,36 @@ npm install -g prettier
pandoc pandoc
``` ```
## Vim Gists
To use vim-gists you will need to configure the following:
``` bash
git config --global github.user <username>
```
## Snippets
If you are looking for snippets checkout this github topic: [Snippet
Topic](https://github.com/topics/vscode-snippets)
## De-bugging ## De-bugging
To set up your particular debugger, look here: To set up your particular debugger, look here:
[link](https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation) [link](https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation)
## VSCodium
I recommend you support Free/Libre versions if you plan to use VSCode:
- [VSCodium](https://vscodium.com/)
- Article to get you set up with VSCodium: [link](https://www.chrisatmachine.com/Neovim/22-vscodium-neovim/)
After installing the [Neovim
extension](https://github.com/asvetliakov/vscode-neovim) in VSCode
I recommend using this alongside the VSCode
[which-key](https://github.com/VSpaceCode/vscode-which-key) extension
You will also need `settings.json` and `keybindings.json` which can be
found in utils/vscode\_config
Point the nvim path to your `nvim` binary
Point your `init.vim` path to:
``` vim
$HOME/.config/nvim/vimscript/lv-vscode/init.vim
```
## TODO ## TODO
**HIGH PRIORITY** **HIGH PRIORITY**

View file

@ -1,49 +1,27 @@
-- General mappings
require('plugins') require('plugins')
require('nv-globals') require('lv-globals')
require('nv-utils') require('lv-utils')
vim.cmd('luafile ~/.config/nvim/nv-settings.lua') vim.cmd('luafile ~/.config/nvim/lv-settings.lua')
require('nv-autocommands') require('lv-autocommands')
-- require('config')
require('settings') require('settings')
require('keymappings') require('keymappings')
require('colorscheme') require('colorscheme')
require('nv-galaxyline') require('lv-galaxyline')
require('lv-comment')
-- Plugins require('lv-lspkind')
require('nv-compe') require('lv-compe')
require('nv-colorizer') require('lv-barbar')
require('nv-nvimtree') require('lv-dashboard')
require('nv-treesitter') require('lv-telescope')
require('nv-barbar') require('lv-gitsigns')
require('nv-emmet') require('lv-nvimtree')
require('nv-quickscope') require('lv-treesitter')
require('nv-gitsigns') require('lv-autopairs')
require('nv-autopairs') require('lv-barbar')
require('nv-comment') require('lv-rnvimr')
require('nv-rnvimr')
require('nv-telescope')
require('nv-floaterm')
require('nv-vim-rooter')
require('nv-matchup')
require('nv-lspkind')
require('nv-numb')
require('nv-hop')
require('nv-gitblame')
require('nv-nvim-peekup')
require('nv-dashboard')
require('nv-dial')
require('nv-nvim-dap')
require('nv-lightbulb')
require('nv-indentline')
require('nv-bookmark')
require('nv-dadbod')
require('nv-doge')
require('nv-dependency')
-- require('nv-lspinstall')
-- Which Key (Hope to replace with Lua plugin someday) -- Which Key (Hope to replace with Lua plugin someday)
vim.cmd('source ~/.config/nvim/vimscript/nv-whichkey/init.vim') vim.cmd('source ~/.config/nvim/vimscript/lv-whichkey/init.vim')
vim.cmd('source ~/.config/nvim/vimscript/functions.vim') vim.cmd('source ~/.config/nvim/vimscript/functions.vim')
-- LSP -- LSP
@ -62,14 +40,11 @@ require('lsp.yaml-ls')
require('lsp.terraform-ls') require('lsp.terraform-ls')
require('lsp.vim-ls') require('lsp.vim-ls')
require('lsp.graphql-ls') require('lsp.graphql-ls')
require('lsp.css-ls')
require('lsp.docker-ls') require('lsp.docker-ls')
require('lsp.html-ls') require('lsp.html-ls')
require('lsp.css-ls')
require('lsp.emmet-ls')
require('lsp.efm-general-ls') require('lsp.efm-general-ls')
require('lsp.virtual_text')
require('lsp.latex-ls') require('lsp.latex-ls')
require('lsp.svelte-ls') require('lsp.svelte-ls')
require('lsp.tailwindcss-ls') require('lsp.tailwindcss-ls')
-- vim.lsp.callbacks["textDocument/publishDiagnostics"] = function() end
-- vim.lsp.handlers["textDocument/publishDiagnostics"] = nil

19
lua/lsp/emmet-ls.lua Normal file
View file

@ -0,0 +1,19 @@
local nvim_lsp = require'lspconfig'
local configs = require'lspconfig/configs'
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true
configs.emmet_ls = {
default_config = {
cmd = {'emmet-ls', '--stdio'};
filetypes = {'html', 'css'};
root_dir = function()
return vim.loop.cwd()
end;
settings = {};
};
}
nvim_lsp.emmet_ls.setup{
-- on_attach = on_attach;
}

View file

@ -1,15 +0,0 @@
local virtual_text = {}
virtual_text.show = true
virtual_text.toggle = function()
virtual_text.show = not virtual_text.show
vim.lsp.diagnostic.display(
vim.lsp.diagnostic.get(0, 1),
0,
1,
{virtual_text = virtual_text.show}
)
end
return virtual_text

View file

@ -1,4 +1,4 @@
local utils = require('nv-utils') local utils = require('lv-utils')
local auto_formatters = { } local auto_formatters = { }
@ -24,7 +24,7 @@ utils.define_augroups({
{'BufWinEnter', '*', 'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'}, {'BufWinEnter', '*', 'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'},
{'BufRead', '*', 'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'}, {'BufRead', '*', 'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'},
{'BufNewFile', '*', 'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'}, {'BufNewFile', '*', 'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'},
{'VimLeavePre', '*', 'set title set titleold='}, {'VimLeavePre', '*', 'set title set titleold='}
-- {'User', 'GoyoLeave', 'lua require(\'galaxyline\').disable_galaxyline()'}, -- {'User', 'GoyoLeave', 'lua require(\'galaxyline\').disable_galaxyline()'},
-- {'User', 'GoyoEnter', 'lua require(\'galaxyline\').galaxyline_augroup()'}, -- {'User', 'GoyoEnter', 'lua require(\'galaxyline\').galaxyline_augroup()'},

55
lua/lv-dashboard/init.lua Normal file
View file

@ -0,0 +1,55 @@
-- vim.g.dashboard_custom_header = {
-- '███╗ ██╗██╗ ██╗ ██████╗ ██████╗ ██████╗ ███████╗',
-- '████╗ ██║██║ ██║██╔════╝██╔═══██╗██╔══██╗██╔════╝',
-- '██╔██╗ ██║██║ ██║██║ ██║ ██║██║ ██║█████╗',
-- '██║╚██╗██║╚██╗ ██╔╝██║ ██║ ██║██║ ██║██╔══╝',
-- '██║ ╚████║ ╚████╔╝ ╚██████╗╚██████╔╝██████╔╝███████╗',
-- '╚═╝ ╚═══╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝'
-- }
-- vim.g.dashboard_custom_header = {
--
-- ' _..._ ',
-- ' .\' `. ██  ██  ██ ███  ██  █████  ██████  ██  ██ ██ ███  ███ ',
-- ' : : ██  ██  ██ ████  ██ ██   ██ ██   ██ ██  ██ ██ ████  ████ ',
-- ' : : ██  ██  ██ ██ ██  ██ ███████ ██████  ██  ██ ██ ██ ████ ██ ',
-- ' `. .\' ██  ██  ██ ██  ██ ██ ██   ██ ██   ██  ██  ██  ██ ██  ██  ██ ',
-- ' `-...-\' ███████  ██████  ██   ████ ██  ██ ██  ██   ████   ██ ██  ██ ',
--
-- }
vim.g.dashboard_custom_header = {
' _..._ ',
' .\' (_`. _ __ ___ ',
' : . : | | _ _ _ __ __ _ _ _\\ \\ / (_)_ __ ___ ',
' :) () : | | | | | | \'_ \\ / _` | \'__\\ \\ / /| | \'_ ` _ \\ ',
' `. . .\' | |__| |_| | | | | (_| | | \\ V / | | | | | | |',
' `-...-\' |_____\\__,_|_| |_|\\__,_|_| \\_/ |_|_| |_| |_|',
}
vim.g.dashboard_default_executive = 'telescope'
vim.g.dashboard_custom_section = {
a = {description = {' Find File '}, command = 'Telescope find_files'},
b = {description = {' Recently Used Files'}, command = 'Telescope oldfiles'},
c = {description = {' Load Last Session '}, command = 'SessionLoad'},
d = {description = {' Find Word '}, command = 'Telescope live_grep'},
e = {description = {' Settings '}, command = ':e ~/.config/nvim/nv-settings.lua'}
-- e = {description = {' Marks '}, command = 'Telescope marks'}
}
-- file_browser = {description = {' File Browser'}, command = 'Telescope find_files'},
-- vim.g.dashboard_custom_shortcut = {
-- a = 'f',
-- find_word = 'SPC f a',
-- last_session = 'SPC s l',
-- new_file = 'SPC c n',
-- book_marks = 'SPC f b'
-- }
-- find_history = 'SPC f h',
-- vim.g.dashboard_session_directory = '~/.cache/nvim/session'
vim.g.dashboard_custom_footer = {'chrisatmachine.com'}

View file

@ -1,7 +1,7 @@
O = { O = {
auto_close_tree = 0, auto_close_tree = 0,
auto_complete = true, auto_complete = true,
colorscheme = 'nvcode', colorscheme = 'lunar',
hidden_files = true, hidden_files = true,
wrap_lines = false, wrap_lines = false,
number = true, number = true,

65
lua/lv-nvimtree/init.lua Normal file
View file

@ -0,0 +1,65 @@
--[[ "
--let g:nvim_tree_auto_ignore_ft = 'startify' "empty by default, don't auto open tree on specific filetypes.
let g:nvim_tree_hide_dotfiles = 1 "0 by default, this option hides files and folders starting with a dot `.`
let g:nvim_tree_git_hl = 1 "0 by default, will enable file highlight for git attributes (can be used without the icons).
" let g:nvim_tree_tab_open = 1 "0 by default, will open the tree when entering a new tab and the tree was previously open
" let g:nvim_tree_width_allow_resize = 1 "0 by default, will not resize the tree when opening a file
let g:nvim_tree_show_icons = {
\ 'git': 1,
\ 'folders': 1,
\ 'files': 1,
\ }
"If 0, do not show the icons for one of 'git' 'folder' and 'files'
"1 by default, notice that if 'files' is 1, it will only display
"if nvim-web-devicons is installed and on your runtimepath ]] -- vim.g.nvim_tree_ignore = [ '.git', 'node_modules', '.cache' ] "empty by default
vim.g.nvim_tree_disable_netrw = 0 -- "1 by default, disables netrw
-- vim.g.nvim_tree_hijack_netrw = 0 --"1 by default, prevents netrw from automatically opening when opening directories (but lets you keep its other utilities)
vim.g.nvim_tree_hide_dotfiles = 1 -- 0 by default, this option hides files and folders starting with a dot `.`
vim.g.nvim_tree_indent_markers = 1 -- "0 by default, this option shows indent markers when folders are open
vim.g.nvim_tree_follow = 1 -- "0 by default, this option allows the cursor to be updated when entering a buffer
vim.g.nvim_tree_auto_close = O.auto_close_tree -- 0 by default, closes the tree when it's the last window
vim.g.nvim_tree_auto_ignore_ft = 'startify' --empty by default, don't auto open tree on specific filetypes.
local tree_cb = require'nvim-tree.config'.nvim_tree_callback
vim.g.nvim_tree_bindings = {
-- ["<CR>"] = ":YourVimFunction()<cr>",
-- ["u"] = ":lua require'some_module'.some_function()<cr>",
-- default mappings
["<CR>"] = tree_cb("edit"),
["o"] = tree_cb("edit"),
["l"] = tree_cb("edit"),
["<2-LeftMouse>"] = tree_cb("edit"),
["<2-RightMouse>"] = tree_cb("cd"),
["<C-]>"] = tree_cb("cd"),
["<C-v>"] = tree_cb("vsplit"),
["<C-x>"] = tree_cb("split"),
["<C-t>"] = tree_cb("tabnew"),
["<"] = tree_cb("prev_sibling"),
[">"] = tree_cb("next_sibling"),
["<BS>"] = tree_cb("close_node"),
-- ["h"] = tree_cb("close_node"),
["<S-CR>"] = tree_cb("close_node"),
["<Tab>"] = tree_cb("preview"),
["I"] = tree_cb("toggle_ignored"),
["H"] = tree_cb("toggle_dotfiles"),
["R"] = tree_cb("refresh"),
["a"] = tree_cb("create"),
["d"] = tree_cb("remove"),
["r"] = tree_cb("rename"),
["<C-r>"] = tree_cb("full_rename"),
["x"] = tree_cb("cut"),
["c"] = tree_cb("copy"),
["p"] = tree_cb("paste"),
["[c"] = tree_cb("prev_git_item"),
["]c"] = tree_cb("next_git_item"),
["-"] = tree_cb("dir_up"),
["q"] = tree_cb("close"),
}
-- vim.g.nvim_tree_show_icons = {git = 1, folders = 1, files = 1}
vim.g.nvim_tree_icons = {
default = '',
symlink = '',
git = {unstaged = "", staged = "", unmerged = "", renamed = "", untracked = ""},
folder = {default = "", open = "", empty = "", empty_open = "", symlink = ""}
}

6
lua/lv-rnvimr/init.lua Normal file
View file

@ -0,0 +1,6 @@
-- Make Ranger replace netrw and be the file explorer
vim.g.rnvimr_ex_enable = 1
vim.g.rnvimr_draw_border = 1
vim.g.rnvimr_pick_enable = 1
vim.g.rnvimr_bw_enable = 1
vim.api.nvim_set_keymap('n', '-', ':RnvimrToggle<CR>', {noremap = true, silent = true})

View file

@ -2,7 +2,6 @@ local actions = require('telescope.actions')
-- Global remapping -- Global remapping
------------------------------ ------------------------------
-- '--color=never', -- '--color=never',
require('telescope').load_extension('media_files')
require('telescope').setup { require('telescope').setup {
defaults = { defaults = {
find_command = {'rg', '--no-heading', '--with-filename', '--line-number', '--column', '--smart-case'}, find_command = {'rg', '--no-heading', '--with-filename', '--line-number', '--column', '--smart-case'},
@ -61,13 +60,5 @@ require('telescope').setup {
-- ["<C-i>"] = my_cool_custom_action, -- ["<C-i>"] = my_cool_custom_action,
} }
} }
},
extensions = {
media_files = {
-- filetypes whitelist
-- defaults to {"png", "jpg", "mp4", "webm", "pdf"}
filetypes = {"png", "webp", "jpg", "jpeg"},
find_cmd = "rg" -- find command (defaults to `fd`)
}
} }
} }

View file

@ -1,21 +1,12 @@
require'nvim-treesitter.configs'.setup { require'nvim-treesitter.configs'.setup {
ensure_installed = O.treesitter.ensure_installed, -- one of "all", "maintained" (parsers with maintainers), or a list of languages ensure_installed = O.treesitter.ensure_installed, -- one of "all", "maintained" (parsers with maintainers), or a list of languages
-- TODO seems to be broken
ignore_install = O.treesitter.ignore_install, ignore_install = O.treesitter.ignore_install,
highlight = { highlight = {
enable = O.treesitter.highlight.enabled -- false will disable the whole extension enable = O.treesitter.highlight.enabled -- false will disable the whole extension
}, },
-- indent = {enable = true, disable = {"python", "html", "javascript"}}, -- indent = {enable = true, disable = {"python", "html", "javascript"}},
-- TODO seems to be broken
indent = {enable = {"javascriptreact"}}, indent = {enable = {"javascriptreact"}},
playground = {
enable = O.treesitter.playground.enabled,
disable = {},
updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code
persist_queries = false -- Whether the query persists across vim sessions
},
autotag = {enable = true}, autotag = {enable = true},
rainbow = {enable = O.treesitter.rainbow.enabled},
context_commentstring = {enable = true, config = {javascriptreact = {style_element = '{/*%s*/}'}}}
-- refactor = {highlight_definitions = {enable = true}}
} }

View file

@ -1,2 +0,0 @@
vim.g.bookmark_no_default_key_mappings = 1
vim.g.bookmark_sign = ''

View file

@ -1,12 +0,0 @@
require'colorizer'.setup(
{'*';},
{
RGB = true; -- #RGB hex codes
RRGGBB = true; -- #RRGGBB hex codes
RRGGBBAA = true; -- #RRGGBBAA hex codes
rgb_fn = true; -- CSS rgb() and rgba() functions
hsl_fn = true; -- CSS hsl() and hsla() functions
css = true; -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
css_fn = true; -- Enable all CSS *functions*: rgb_fn, hsl_fn
})
-- names = true; -- "Name" codes like Blue

View file

@ -1,6 +0,0 @@
vim.api.nvim_set_keymap("n", "<leader>Du", ":DBUIToggle<CR>", {noremap=true, silent = true})
vim.api.nvim_set_keymap("n", "<leader>Df", ":DBUIFindBuffer<CR>", {noremap=true, silent = true})
vim.api.nvim_set_keymap("n", "<leader>Dr", ":DBUIRenameBuffer<CR>", {noremap=true, silent = true})
vim.api.nvim_set_keymap("n", "<leader>Dl", ":DBUILastQueryInfo<CR>", {noremap=true, silent = true})
vim.g.db_ui_save_location = O.database.save_location
vim.g.db_ui_auto_execute_table_helpers = O.database.auto_execute

View file

@ -1,33 +0,0 @@
vim.g.dashboard_custom_header = {
'███╗ ██╗██╗ ██╗ ██████╗ ██████╗ ██████╗ ███████╗',
'████╗ ██║██║ ██║██╔════╝██╔═══██╗██╔══██╗██╔════╝',
'██╔██╗ ██║██║ ██║██║ ██║ ██║██║ ██║█████╗',
'██║╚██╗██║╚██╗ ██╔╝██║ ██║ ██║██║ ██║██╔══╝',
'██║ ╚████║ ╚████╔╝ ╚██████╗╚██████╔╝██████╔╝███████╗',
'╚═╝ ╚═══╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝'
}
vim.g.dashboard_default_executive = 'telescope'
vim.g.dashboard_custom_section = {
a = {description = {' Find File '}, command = 'Telescope find_files'},
b = {description = {' Recently Used Files'}, command = 'Telescope oldfiles'},
c = {description = {' Load Last Session '}, command = 'SessionLoad'},
d = {description = {' Find Word '}, command = 'Telescope live_grep'},
e = {description = {' Settings '}, command = ':e ~/.config/nvim/nv-settings.lua'}
-- e = {description = {' Marks '}, command = 'Telescope marks'}
}
-- file_browser = {description = {' File Browser'}, command = 'Telescope find_files'},
-- vim.g.dashboard_custom_shortcut = {
-- a = 'f',
-- find_word = 'SPC f a',
-- last_session = 'SPC s l',
-- new_file = 'SPC c n',
-- book_marks = 'SPC f b'
-- }
-- find_history = 'SPC f h',
-- vim.g.dashboard_session_directory = '~/.cache/nvim/session'
vim.g.dashboard_custom_footer = {'chrisatmachine.com'}

View file

@ -1 +0,0 @@
require('dependency_assist').setup()

View file

@ -1,15 +0,0 @@
local dial = require("dial")
dial.augends["custom#boolean"] = dial.common.enum_cyclic{
name = "boolean",
strlist = {"true", "false"},
}
table.insert(dial.config.searchlist.normal, "custom#boolean")
vim.cmd([[
nmap <C-a> <Plug>(dial-increment)
nmap <C-x> <Plug>(dial-decrement)
vmap <C-a> <Plug>(dial-increment)
vmap <C-x> <Plug>(dial-decrement)
vmap g<C-a> <Plug>(dial-increment-additional)
vmap g<C-x> <Plug>(dial-decrement-additional)
]])

View file

@ -1 +0,0 @@
vim.g.doge_mapping = '<Leader>*'

View file

@ -1,14 +0,0 @@
-- Floaterm
vim.g.floaterm_keymap_toggle = '<F1>'
vim.g.floaterm_keymap_next = '<F2>'
vim.g.floaterm_keymap_prev = '<F3>'
vim.g.floaterm_keymap_new = '<F4>'
vim.g.floaterm_title=''
vim.g.floaterm_gitcommit='floaterm'
vim.g.floaterm_shell=O.shell
vim.g.floaterm_autoinsert=1
vim.g.floaterm_width=0.8
vim.g.floaterm_height=0.8
vim.g.floaterm_wintitle=0
vim.g.floaterm_autoclose=1

View file

@ -1,2 +0,0 @@
vim.cmd('highlight default link gitblame SpecialComment')
vim.g.gitblame_enabled = 0

View file

@ -1,3 +0,0 @@
vim.api.nvim_set_keymap('n', 's', ":HopChar2<cr>", {silent = true})
vim.api.nvim_set_keymap('n', 'S', ":HopWord<cr>", {silent = true})

View file

@ -1,11 +0,0 @@
vim.g.indent_blankline_buftype_exclude = {'terminal'}
vim.g.indent_blankline_filetype_exclude = {'man', 'help', 'startify', 'dashboard', 'packer', 'neogitstatus', 'markdown'}
vim.g.indent_blankline_char = ''
-- vim.g.indent_blankline_use_treesitter = true
vim.g.indent_blankline_show_trailing_blankline_indent = false
vim.g.indent_blankline_show_current_context = true
vim.g.indent_blankline_context_patterns = {
'class', 'return', 'function', 'method', '^if', '^while', 'jsx_element', '^for', '^object', '^table', 'block',
'arguments', 'if_statement', 'else_clause', 'jsx_element', 'jsx_self_closing_element', 'try_statement',
'catch_clause', 'import_statement', 'operation_type'
}

View file

@ -1,34 +0,0 @@
-- Showing defaults
require'nvim-lightbulb'.update_lightbulb {
sign = {
enabled = true,
-- Priority of the gutter sign
priority = 10,
text = "💡",
},
float = {
enabled = false,
-- Text to show in the popup float
text = "💡",
-- Available keys for window options:
-- - height of floating window
-- - width of floating window
-- - wrap_at character to wrap at for computing height
-- - max_width maximal width of floating window
-- - max_height maximal height of floating window
-- - pad_left number of columns to pad contents at left
-- - pad_right number of columns to pad contents at right
-- - pad_top number of lines to pad contents at top
-- - pad_bottom number of lines to pad contents at bottom
-- - offset_x x-axis offset of the floating window
-- - offset_y y-axis offset of the floating window
-- - anchor corner of float to place at the cursor (NW, NE, SW, SE)
-- - winblend transparency of the window (0-100)
win_opts = {},
},
virtual_text = {
enabled = false,
-- Text to show at virtual text
text = "💡",
}
}

View file

@ -1 +0,0 @@
vim.g.matchup_matchparen_offscreen = {}

View file

@ -1,4 +0,0 @@
require('numb').setup{
show_numbers = true, -- Enable 'number' for the window while peeking
show_cursorline = true -- Enable 'cursorline' for the window while peeking
}

View file

@ -1,2 +0,0 @@
vim.g.peekup_open = '""'

View file

@ -1,74 +0,0 @@
--[[ "
--let g:nvim_tree_auto_ignore_ft = 'startify' "empty by default, don't auto open tree on specific filetypes.
let g:nvim_tree_hide_dotfiles = 1 "0 by default, this option hides files and folders starting with a dot `.`
let g:nvim_tree_git_hl = 1 "0 by default, will enable file highlight for git attributes (can be used without the icons).
" let g:nvim_tree_tab_open = 1 "0 by default, will open the tree when entering a new tab and the tree was previously open
" let g:nvim_tree_width_allow_resize = 1 "0 by default, will not resize the tree when opening a file
let g:nvim_tree_show_icons = {
\ 'git': 1,
\ 'folders': 1,
\ 'files': 1,
\ }
"If 0, do not show the icons for one of 'git' 'folder' and 'files'
"1 by default, notice that if 'files' is 1, it will only display
"if nvim-web-devicons is installed and on your runtimepath ]]
-- vim.g.nvim_tree_ignore = [ '.git', 'node_modules', '.cache' ] "empty by default
vim.g.nvim_tree_disable_netrw = 0 --"1 by default, disables netrw
-- vim.g.nvim_tree_hijack_netrw = 0 --"1 by default, prevents netrw from automatically opening when opening directories (but lets you keep its other utilities)
vim.g.nvim_tree_hide_dotfiles = 1 --0 by default, this option hides files and folders starting with a dot `.`
vim.g.nvim_tree_indent_markers = 1 --"0 by default, this option shows indent markers when folders are open
vim.g.nvim_tree_follow = 1 --"0 by default, this option allows the cursor to be updated when entering a buffer
-- vim.g.nvim_tree_lsp_diagnostics = 1 --0 by default, will show lsp diagnostics in the tree. See :help nvim_tree_lsp_diagnostics
vim.g.nvim_tree_auto_close = O.auto_close_tree --0 by default, closes the tree when it's the last window
vim.g.nvim_tree_auto_ignore_ft = 'startify' --"empty by default, don't auto open tree on specific filetypes.
local tree_cb = require'nvim-tree.config'.nvim_tree_callback
vim.g.nvim_tree_bindings = {
-- mappings
["<CR>"] = tree_cb("edit"),
["l"] = tree_cb("edit"),
["o"] = tree_cb("edit"),
["<2-LeftMouse>"] = tree_cb("edit"),
["<2-RightMouse>"] = tree_cb("cd"),
["<C-]>"] = tree_cb("cd"),
["v"] = tree_cb("vsplit"),
["s"] = tree_cb("split"),
["<C-t>"] = tree_cb("tabnew"),
["h"] = tree_cb("close_node"),
["<BS>"] = tree_cb("close_node"),
["<S-CR>"] = tree_cb("close_node"),
["<Tab>"] = tree_cb("preview"),
["I"] = tree_cb("toggle_ignored"),
["H"] = tree_cb("toggle_dotfiles"),
["R"] = tree_cb("refresh"),
["a"] = tree_cb("create"),
["d"] = tree_cb("remove"),
["r"] = tree_cb("rename"),
["<C-r>"] = tree_cb("full_rename"),
["x"] = tree_cb("cut"),
["c"] = tree_cb("copy"),
["p"] = tree_cb("paste"),
["[c"] = tree_cb("prev_git_item"),
["]c"] = tree_cb("next_git_item"),
["-"] = tree_cb("dir_up"),
["q"] = tree_cb("close")
}
vim.g.nvim_tree_icons = {
default = '',
symlink = '',
git = {
unstaged = "",
staged = "",
unmerged = "",
renamed = "",
untracked = "",
-- ignored = "◌"
},
folder = {
default = "",
open = "",
empty = "",
empty_open = "",
symlink = ""
}
}

View file

@ -1,4 +0,0 @@
-- Trigger a highlight in the appropriate direction when pressing these keys:
-- vim.cmd('let g:qs_highlight_on_keys = [\'f\', \'F\', \'t\', \'T\']')
vim.g.qs_highlight_on_keys = {'f', 'F', 't', 'T'}
vim.g.qs_max_chars=150

View file

@ -1,24 +0,0 @@
-- Make Ranger replace netrw and be the file explorer
vim.g.rnvimr_ex_enable = 1
vim.g.rnvimr_draw_border = 1
-- Make Ranger to be hidden after picking a file
vim.g.rnvimr_pick_enable = 1
-- Make Neovim to wipe the buffers corresponding to the files deleted by Ranger
vim.g.rnvimr_bw_enable = 1
-- vim.cmd('nmap <leader>r :RnvimrToggle<CR>')
--[[ let g:rnvimr_ranger_cmd = 'ranger --cmd="set column_ratios 1,1"'
" \ --cmd="set draw_borders separators"'
" let g:rnvimr_layout = { 'relative': 'editor',
" \ 'width': float2nr(round(0.6 * &columns)),
" \ 'height': float2nr(round(0.6 * &lines)),
" \ 'col': float2nr(round(0.2 * &columns)),
" \ 'row': float2nr(round(0.2 * &lines)),
" \ 'style': 'minimal' }
let g:rnvimr_presets = [
\ {'width': 0.800, 'height': 0.800}] ]]

View file

@ -1,33 +0,0 @@
vim.g.startify_custom_header = {
' ███╗ ██╗██╗ ██╗ ██████╗ ██████╗ ██████╗ ███████╗',
' ████╗ ██║██║ ██║██╔════╝██╔═══██╗██╔══██╗██╔════╝',
' ██╔██╗ ██║██║ ██║██║ ██║ ██║██║ ██║█████╗',
' ██║╚██╗██║╚██╗ ██╔╝██║ ██║ ██║██║ ██║██╔══╝',
' ██║ ╚████║ ╚████╔╝ ╚██████╗╚██████╔╝██████╔╝███████╗',
' ╚═╝ ╚═══╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝'
}
vim.g.webdevicons_enable_startify = 1
vim.g.startify_enable_special = 0
vim.g.startify_session_dir = '~/.config/nvim/session'
vim.g.startify_session_autoload = 1
vim.g.startify_session_delete_buffers = 1
vim.g.startify_change_to_vcs_root = 1
vim.g.startify_fortune_use_unicode = 1
vim.g.startify_session_persistence = 1
vim.g.startify_session_dir = '~/.config/nvim/session'
vim.api.nvim_exec(
'let startify_lists = [ { \'type\': \'files\', \'header\': [\' Files\'] }, { \'type\': \'sessions\', \'header\': [\' Sessions\'] }, { \'type\': \'bookmarks\', \'header\': [\' Bookmarks\'] }, ]',
true)
vim.api.nvim_exec(
'let startify_bookmarks = [ { \'b\': \'~/Blog\' }, { \'c\': \'~/.config/nvim/lua/config.lua\' }, { \'z\': \'~/.zshrc\' }, { \'r\': \'~/.config/nvim/README.md\' }]',
true)
vim.cmd([[
function! StartifyEntryFormat()
return 'WebDevIconsGetFileTypeSymbol(absolute_path) ." ". entry_path'
endfunction
]])

View file

@ -1,2 +0,0 @@
-- TODO create file
vim.g.rooter_silent_chdir = 1

View file

@ -1,4 +1,3 @@
-- vim.cmd [[packadd packer.nvim]]
local execute = vim.api.nvim_command local execute = vim.api.nvim_command
local fn = vim.fn local fn = vim.fn
@ -9,167 +8,98 @@ if fn.empty(fn.glob(install_path)) > 0 then
execute 'packadd packer.nvim' execute 'packadd packer.nvim'
end end
local my = function(file) require(file) end --- Check if a file or directory exists in this path
local function require_plugin(plugin)
local plugin_prefix = fn.stdpath('data') .. '/site/pack/packer/opt/'
local plugin_path = plugin_prefix .. plugin .. '/'
-- print('test '..plugin_path)
local ok, err, code = os.rename(plugin_path, plugin_path)
if not ok then
if code == 13 then
-- Permission denied, but it exists
return true
end
end
-- print(ok, err, code)
if ok then vim.cmd('packadd ' .. plugin) end
return ok, err, code
end
vim.cmd 'autocmd BufWritePost plugins.lua PackerCompile' -- Auto compile when there are changes in plugins.lua vim.cmd 'autocmd BufWritePost plugins.lua PackerCompile' -- Auto compile when there are changes in plugins.lua
-- require('packer').init({display = {non_interactive = true}})
require('packer').init({display = {auto_clean = false}})
return require('packer').startup(function(use) return require('packer').startup(function(use)
-- Packer can manage itself as an optional plugin -- Packer can manage itself as an optional plugin
use 'wbthomason/packer.nvim' use 'wbthomason/packer.nvim'
-- Information -- TODO refactor all of this (for now it works, but yes I know it could be wrapped in a simpler function)
-- use 'nanotee/nvim-lua-guide' use {'neovim/nvim-lspconfig', opt=true}
use {'glepnir/lspsaga.nvim', opt=true}
use {'onsails/lspkind-nvim', opt=true}
use {'kabouzeid/nvim-lspinstall', opt=true}
-- Quality of life improvements -- Tlescope
-- use 'norcalli/nvim_utils' use {'nvim-lua/popup.nvim', opt=true}
use {'nvim-lua/plenary.nvim', opt=true}
use {'nvim-telescope/telescope.nvim', opt=true}
-- LSP -- Dbugging
use 'neovim/nvim-lspconfig' use {'mfussenegger/nvim-dap', opt=true}
use 'glepnir/lspsaga.nvim'
use 'onsails/lspkind-nvim'
use 'kosayoda/nvim-lightbulb'
use 'mfussenegger/nvim-jdtls'
use 'kabouzeid/nvim-lspinstall'
-- Debugging -- Atocomplete
use 'mfussenegger/nvim-dap' use {'hrsh7th/nvim-compe', opt=true}
use {'hrsh7th/vim-vsnip', opt=true}
use {"rafamadriz/friendly-snippets", opt=true}
-- Autocomplete -- Teesitter
use 'hrsh7th/nvim-compe'
use 'mattn/emmet-vim'
use 'hrsh7th/vim-vsnip'
use "rafamadriz/friendly-snippets"
use 'ChristianChiarulli/html-snippets'
-- Treesitter
use {'nvim-treesitter/nvim-treesitter', run = ':TSUpdate'} use {'nvim-treesitter/nvim-treesitter', run = ':TSUpdate'}
use 'p00f/nvim-ts-rainbow' use {'windwp/nvim-ts-autotag', opt=true}
use {'lukas-reineke/indent-blankline.nvim', branch = 'lua'}
use 'nvim-treesitter/playground'
use 'JoosepAlviste/nvim-ts-context-commentstring'
use 'windwp/nvim-ts-autotag'
-- Icons -- Eplorer
use 'kyazdani42/nvim-web-devicons'
use 'ryanoasis/vim-devicons'
-- Status Line and Bufferline
use { 'glepnir/galaxyline.nvim' }
-- use { 'glepnir/galaxyline.nvim', config = function() require'nv-galaxyline' end } -- inline fn alternative
use 'romgrk/barbar.nvim'
-- Telescope
use 'nvim-lua/popup.nvim'
use 'nvim-lua/plenary.nvim'
use 'nvim-telescope/telescope.nvim'
use 'nvim-telescope/telescope-media-files.nvim'
-- Explorer
use 'kyazdani42/nvim-tree.lua' use 'kyazdani42/nvim-tree.lua'
-- TODO remove when open on dir is supported by nvimtree
use 'kevinhwang91/rnvimr'
-- use {'lukas-reineke/indent-blankline.nvim', opt=true, branch = 'lua'}
use {'lewis6991/gitsigns.nvim', opt = true}
use {'liuchengxu/vim-which-key', opt = true}
use {'ChristianChiarulli/dashboard-nvim', opt = true}
use {'windwp/nvim-autopairs', opt = true}
use {'terrortylor/nvim-comment', opt = true}
use {'kevinhwang91/nvim-bqf', opt = true}
-- Color -- Color
use 'christianchiarulli/nvcode-color-schemes.vim' use {'christianchiarulli/nvcode-color-schemes.vim', opt = true}
use 'norcalli/nvim-colorizer.lua'
use 'sheerun/vim-polyglot'
-- Git -- Icons
-- use 'TimUntersberger/neogit' use {'kyazdani42/nvim-web-devicons', opt = true}
use {'lewis6991/gitsigns.nvim', requires = {'nvim-lua/plenary.nvim'}}
use 'f-person/git-blame.nvim'
use 'tpope/vim-fugitive'
use 'tpope/vim-rhubarb'
-- Easily Create Gists -- Status Line and Bufferline
use 'mattn/vim-gist' use {'glepnir/galaxyline.nvim', opt = true}
use 'mattn/webapi-vim' use {'romgrk/barbar.nvim', opt = true}
-- Webdev require_plugin('nvim-lspconfig')
-- TODO add back when I learn it better require_plugin('lspsaga.nvim')
-- use 'gennaro-tedesco/nvim-jqx' require_plugin('lspkind-nvim')
-- use 'turbio/bracey.vim' require_plugin('nvim-lspinstall')
require_plugin('popup.nvim')
-- Php require_plugin('plenary.nvim')
use 'phpactor/phpactor' require_plugin('telescope.nvim')
require_plugin('nvim-dap')
-- Flutter require_plugin('nvim-compe')
use 'thosakwe/vim-flutter' require_plugin('vim-vsnip')
require_plugin('nvim-treesitter')
-- Dependency assistent require_plugin('nvim-ts-autotag')
use 'akinsho/dependency-assist.nvim' require_plugin('nvim-tree.lua')
require_plugin('gitsigns.nvim')
-- Registers require_plugin('vim-which-key')
-- use 'gennaro-tedesco/nvim-peekup' require_plugin('dashboard-nvim')
require_plugin('nvim-autopairs')
-- Navigation require_plugin('nvim-comment')
use 'unblevable/quick-scope' -- hop may replace you require_plugin('nvim-bqf')
use 'phaazon/hop.nvim' require_plugin('nvcode-color-schemes.vim')
use 'kevinhwang91/rnvimr' -- telescope may fully replace you require_plugin('nvim-web-devicons')
require_plugin('galaxyline.nvim')
-- General Plugins require_plugin('barbar.nvim')
use 'liuchengxu/vim-which-key'
use 'kevinhwang91/nvim-bqf'
use 'airblade/vim-rooter'
use 'ChristianChiarulli/dashboard-nvim'
use 'metakirby5/codi.vim'
use {'iamcco/markdown-preview.nvim', run = 'cd app && npm install'}
use 'voldikss/vim-floaterm'
use 'terrortylor/nvim-comment'
use 'monaqa/dial.nvim'
use 'junegunn/goyo.vim'
use 'andymass/vim-matchup'
use 'MattesGroeger/vim-bookmarks'
use 'windwp/nvim-autopairs'
use 'mbbill/undotree'
use 'nacro90/numb.nvim'
use 'turbio/bracey.vim'
-- Database
use 'tpope/vim-dadbod'
use 'kristijanhusak/vim-dadbod-ui'
use 'kristijanhusak/vim-dadbod-completion'
-- Documentation Generator
use {'kkoomen/vim-doge', run = ':call doge#install()'}
-- TODO put this back when stable for indent lines
-- vim.g.indent_blankline_space_char = ''
-- use 'b3nj5m1n/kommentary'
-- use {
-- 'glacambre/firenvim',
-- run = function()
-- vim.fn['firenvim#install'](1)
-- end
-- }
-- use 'glepnir/dashboard-nvim'
-- use 'mhinz/vim-startify'
-- use 'cstrap/python-snippets'
-- use 'ylcnfrht/vscode-python-snippet-pack'
-- use 'norcalli/snippets.nvim'
-- use {'akinsho/nvim-bufferline.lua', requires = 'kyazdani42/nvim-web-devicons'}
-- use 'SirVer/ultisnips'
-- use 'honza/vim-snippets'
-- vim.g.UltiSnipsExpandTrigger="<CR>"
-- vim.g.UltiSnipsJumpForwardTrigger="<Tab>"
-- vim.g.UltiSnipsJumpBackwardTrigger="<S-Tab>"
-- use 'blackcauldron7/surround.nvim'
-- use 'ChristianChiarulli/java-snippets'
-- use 'xabikos/vscode-javascript'
-- use 'dsznajder/vscode-es7-javascript-react-snippets'
-- use 'golang/vscode-go'
-- use 'rust-lang/vscode-rust'
-- use 'ChristianChiarulli/python-snippets'
-- use 'kshenoy/vim-signature'
-- use 'nelstrom/vim-visual-star-search'
-- TODO switch back when config support snips
-- use 'cohama/lexima.vim'
-- use 'bfredl/nvim-miniyank'
-- use 'brooth/far.vim'
-- use 'liuchengxu/vista.vim'
-- use 'psliwka/vim-smoothie'
-- use 'nvim-treesitter/nvim-treesitter-refactor'
-- use 'nvim-treesitter/playground'
-- use 'moll/vim-bbye'
end) end)

View file

@ -13,11 +13,10 @@ O.colorscheme = 'lunar'
O.auto_close_tree = 0 O.auto_close_tree = 0
O.wrap_lines = false O.wrap_lines = false
-- if you don't want all the parsers change this to a table of the ones you want
O.treesitter.ensure_installed = "all" O.treesitter.ensure_installed = "all"
O.treesitter.ignore_install = {"haskell"} O.treesitter.ignore_install = {"haskell"}
O.treesitter.highlight.enabled = true O.treesitter.highlight.enabled = true
O.treesitter.playground.enabled = true
O.treesitter.rainbow.enabled = false
O.clang.diagnostics.virtual_text = false O.clang.diagnostics.virtual_text = false

View file

@ -1,2 +0,0 @@
require('plugins')

View file

@ -15,7 +15,7 @@ installnodeubuntu() {
} }
moveoldnvim() { moveoldnvim() {
echo "Not installing NVCode" echo "Not installing LunarVim"
echo "Please move your ~/.config/nvim folder before installing" echo "Please move your ~/.config/nvim folder before installing"
exit exit
} }
@ -66,13 +66,13 @@ installpacker() {
} }
cloneconfig() { cloneconfig() {
echo "Cloning NVCode configuration" echo "Cloning LunarVim configuration"
git clone https://github.com/ChristianChiarulli/nvcode.git ~/.config/nvim git clone https://github.com/ChristianChiarulli/lunarvim.git ~/.config/nvim
mv $HOME/.config/nvim/init.lua $HOME/.config/nvim/init.lua.tmp # mv $HOME/.config/nvim/init.lua $HOME/.config/nvim/init.lua.tmp
mv $HOME/.config/nvim/utils/init.lua $HOME/.config/nvim/init.lua # mv $HOME/.config/nvim/utils/init.lua $HOME/.config/nvim/init.lua
# nvim -u $HOME/.config/nvim/init.lua --headless --noplugin +PackerInstall +qall nvim -u $HOME/.config/nvim/init.lua +PackerInstall
rm $HOME/.config/nvim/init.lua # rm $HOME/.config/nvim/init.lua
mv $HOME/.config/nvim/init.lua.tmp $HOME/.config/nvim/init.lua # mv $HOME/.config/nvim/init.lua.tmp $HOME/.config/nvim/init.lua
} }
asktoinstallnode() { asktoinstallnode() {
@ -123,7 +123,7 @@ installextrapackages() {
} }
# Welcome # Welcome
echo 'Installing NVCode' echo 'Installing LunarVim'
# move old nvim directory if it exists # move old nvim directory if it exists
[ -d "$HOME/.config/nvim" ] && moveoldnvim [ -d "$HOME/.config/nvim" ] && moveoldnvim
@ -143,17 +143,17 @@ else
installpacker installpacker
fi fi
if [ -a "$HOME/.config/nvcode/init.lua" ]; then if [ -a "$HOME/.config/nvim/init.lua" ]; then
echo 'nvcode already installed' echo 'nvcode already installed'
else else
# clone config down # clone config down
cloneconfig cloneconfig
echo 'export PATH=$HOME/.config/nvcode/utils/bin:$PATH' >>~/.zshrc # echo 'export PATH=$HOME/.config/nvim/utils/bin:$PATH' >>~/.zshrc
echo 'export PATH=$HOME/.config/nvcode/utils/bin:$PATH' >>~/.bashrc # echo 'export PATH=$HOME/.config/nvcode/utils/bin:$PATH' >>~/.bashrc
fi fi
echo "I recommend you also install and activate a font from here: https://github.com/ryanoasis/nerd-fonts" echo "I recommend you also install and activate a font from here: https://github.com/ryanoasis/nerd-fonts"
echo "I also recommend you add 'set preview_images_method ueberzug' to ~/.config/ranger/rc.conf" # echo "I also recommend you add 'set preview_images_method ueberzug' to ~/.config/ranger/rc.conf"
echo 'export PATH=/home/$USER/.config/nvcode/utils/bin:$PATH appending to zshrc/bashrc' # echo 'export PATH=/home/$USER/.config/nvcode/utils/bin:$PATH appending to zshrc/bashrc'

Binary file not shown.

Before

Width:  |  Height:  |  Size: 666 KiB

After

Width:  |  Height:  |  Size: 856 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6 KiB

View file

@ -1,28 +1,28 @@
command! LspCodeAction lua require 'nv-utils'.code_action() command! LspCodeAction lua require 'lv-utils'.code_action()
command! LspDeclaration lua require 'nv-utils'.declaration() command! LspDeclaration lua require 'lv-utils'.declaration()
command! LspDefinition lua require 'nv-utils'.definition() command! LspDefinition lua require 'lv-utils'.definition()
command! LspDocumentSymbol lua require 'nv-utils'.document_symbol() command! LspDocumentSymbol lua require 'lv-utils'.document_symbol()
command! LspFormatting lua require 'nv-utils'.formatting() command! LspFormatting lua require 'lv-utils'.formatting()
command! LspFormattingSync lua require 'nv-utils'.formatting_sync() command! LspFormattingSync lua require 'lv-utils'.formatting_sync()
command! LspHover lua require 'nv-utils'.hover() command! LspHover lua require 'lv-utils'.hover()
command! LspImplementation lua require 'nv-utils'.implementation() command! LspImplementation lua require 'lv-utils'.implementation()
command! LspRangeCodeAction lua require 'nv-utils'.range_code_action() command! LspRangeCodeAction lua require 'lv-utils'.range_code_action()
command! LspRangeFormatting lua require 'nv-utils'.range_formatting() command! LspRangeFormatting lua require 'lv-utils'.range_formatting()
command! LspReferences lua require 'nv-utils'.references() command! LspReferences lua require 'lv-utils'.references()
command! LspRename lua require 'nv-utils'.rename() command! LspRename lua require 'lv-utils'.rename()
command! LspTypeDefinition lua require 'nv-utils'.type_definition() command! LspTypeDefinition lua require 'lv-utils'.type_definition()
command! LspWorkspaceSymbol lua require 'nv-utils'.workspace_symbol() command! LspWorkspaceSymbol lua require 'lv-utils'.workspace_symbol()
command! LspGotoNext lua require 'nv-utils'.goto_next() command! LspGotoNext lua require 'lv-utils'.goto_next()
command! LspGotoPrev lua require 'nv-utils'.goto_prev() command! LspGotoPrev lua require 'lv-utils'.goto_prev()
command! LspShowLineDiagnostics lua require 'nv-utils'.show_line_diagnostics() command! LspShowLineDiagnostics lua require 'lv-utils'.show_line_diagnostics()
command! NextHunk lua require 'nv-utils'.next_hunk() command! NextHunk lua require 'lv-utils'.next_hunk()
command! PrevHunk lua require 'nv-utils'.prev_hunk() command! PrevHunk lua require 'lv-utils'.prev_hunk()
command! StageHunk lua require 'nv-utils'.stage_hunk() command! StageHunk lua require 'lv-utils'.stage_hunk()
command! UndoStageHunk lua require 'nv-utils'.undo_stage_hunk() command! UndoStageHunk lua require 'lv-utils'.undo_stage_hunk()
command! ResetHunk lua require 'nv-utils'.reset_hunk() command! ResetHunk lua require 'lv-utils'.reset_hunk()
command! ResetBuffer lua require 'nv-utils'.reset_buffer() command! ResetBuffer lua require 'lv-utils'.reset_buffer()
command! PreviewHunk lua require 'nv-utils'.preview_hunk() command! PreviewHunk lua require 'lv-utils'.preview_hunk()
command! BlameLine lua require 'nv-utils'.blame_line() command! BlameLine lua require 'lv-utils'.blame_line()
command! W noa w command! W noa w
" Debugging " Debugging
@ -55,10 +55,6 @@ command! DebugGetSession lua require'dap'.session()
" nnoremap <silent> <leader>dr :lua require'dap'.repl.open()<CR> " nnoremap <silent> <leader>dr :lua require'dap'.repl.open()<CR>
" nnoremap <silent> <leader>dl :lua require'dap'.run_last()<CR> " nnoremap <silent> <leader>dl :lua require'dap'.run_last()<CR>
" TODO find out why this thing follows me everywhere in java
let blacklist = ['java']
autocmd CursorHold,CursorHoldI * if index(blacklist, &ft) < 0 | lua require'nvim-lightbulb'.update_lightbulb()
autocmd! User GoyoEnter lua require('gitsigns').toggle_signs() autocmd! User GoyoEnter lua require('gitsigns').toggle_signs()
autocmd! User GoyoLeave lua require('gitsigns').toggle_signs() autocmd! User GoyoLeave lua require('gitsigns').toggle_signs()

View file

@ -1,14 +1,14 @@
" TODO there is a more contemporary version of this file " TODO there is a more contemporary version of this file
" TODO Also some of it is redundant " TODO Also some of it is redundant
packadd quickscope " packadd quickscope
luafile ~/.config/nvim/lua/settings.lua luafile ~/.config/nvim/lua/settings.lua
let g:qs_highlight_on_keys = ['f', 'F', 't', 'T'] " let g:qs_highlight_on_keys = ['f', 'F', 't', 'T']
highlight QuickScopePrimary guifg='#00C7DF' gui=underline ctermfg=155 cterm=underline " highlight QuickScopePrimary guifg='#00C7DF' gui=underline ctermfg=155 cterm=underline
highlight QuickScopeSecondary guifg='#eF5F70' gui=underline ctermfg=81 cterm=underline " highlight QuickScopeSecondary guifg='#eF5F70' gui=underline ctermfg=81 cterm=underline
let g:qs_max_chars=150 " let g:qs_max_chars=150
"VSCode "VSCode
function! s:split(...) abort function! s:split(...) abort

View file

@ -23,60 +23,18 @@ autocmd FileType which_key set laststatus=0 noshowmode noruler
let g:which_key_map['/'] = 'comment toggle' let g:which_key_map['/'] = 'comment toggle'
let g:which_key_map[';'] = [ ':Dashboard' , 'home screen' ] let g:which_key_map[';'] = [ ':Dashboard' , 'home screen' ]
let g:which_key_map[','] = [ '<Plug>(emmet-expand-abbr)' , 'expand tags' ]
let g:which_key_map['"'] = [ '<Plug>PeekupOpen' , 'registers' ]
let g:which_key_map['?'] = [ ':NvimTreeFindFile' , 'find current file' ] let g:which_key_map['?'] = [ ':NvimTreeFindFile' , 'find current file' ]
let g:which_key_map['e'] = [ ':NvimTreeToggle' , 'explorer' ] let g:which_key_map['e'] = [ ':NvimTreeToggle' , 'explorer' ]
let g:which_key_map['f'] = [ ':Telescope find_files' , 'find files' ] let g:which_key_map['f'] = [ ':Telescope find_files' , 'find files' ]
let g:which_key_map['h'] = [ '<C-W>s' , 'split below'] let g:which_key_map['h'] = [ '<C-W>s' , 'split below']
let g:which_key_map['M'] = [ ':MarkdownPreviewToggle' , 'markdown preview']
let g:which_key_map['H'] = [ ':let @/ = ""' , 'no highlight' ] let g:which_key_map['H'] = [ ':let @/ = ""' , 'no highlight' ]
let g:which_key_map['r'] = [ ':RnvimrToggle' , 'ranger' ] let g:which_key_map['r'] = [ ':RnvimrToggle' , 'ranger' ]
let g:which_key_map['*'] = [ ':DogeGenerate' , 'documentation generator' ]
let g:which_key_map['u'] = [ ':UndotreeToggle' , 'undo tree' ]
" TODO create entire treesitter section " TODO create entire treesitter section
let g:which_key_map['T'] = [ ':TSHighlightCapturesUnderCursor' , 'treesitter highlight' ]
let g:which_key_map['v'] = [ '<C-W>v' , 'split right'] let g:which_key_map['v'] = [ '<C-W>v' , 'split right']
" TODO play nice with status line " TODO play nice with status line
let g:which_key_map['z'] = [ 'Goyo' , 'zen' ]
" Group mappings " Group mappings
" . is for emmet
let g:which_key_map['.'] = {
\ 'name' : '+emmet' ,
\ ',' : ['<Plug>(emmet-expand-abbr)' , 'expand abbr'],
\ ';' : ['<plug>(emmet-expand-word)' , 'expand word'],
\ 'u' : ['<plug>(emmet-update-tag)' , 'update tag'],
\ 'd' : ['<plug>(emmet-balance-tag-inward)' , 'balance tag in'],
\ 'D' : ['<plug>(emmet-balance-tag-outward)' , 'balance tag out'],
\ 'n' : ['<plug>(emmet-move-next)' , 'move next'],
\ 'N' : ['<plug>(emmet-move-prev)' , 'move prev'],
\ 'i' : ['<plug>(emmet-image-size)' , 'image size'],
\ '/' : ['<plug>(emmet-toggle-comment)' , 'toggle comment'],
\ 'j' : ['<plug>(emmet-split-join-tag)' , 'split join tag'],
\ 'k' : ['<plug>(emmet-remove-tag)' , 'remove tag'],
\ 'a' : ['<plug>(emmet-anchorize-url)' , 'anchorize url'],
\ 'A' : ['<plug>(emmet-anchorize-summary)' , 'anchorize summary'],
\ 'm' : ['<plug>(emmet-merge-lines)' , 'merge lines'],
\ 'c' : ['<plug>(emmet-code-pretty)' , 'code pretty'],
\ }
" a is for actions
let g:which_key_map.a = {
\ 'name' : '+actions' ,
\ 'c' : [':ColorizerToggle' , 'colorizer'],
\ 'h' : [':let @/ = ""' , 'remove search highlight'],
\ 'i' : [':IndentBlanklineToggle' , 'toggle indent lines'],
\ 'n' : [':set nonumber!' , 'line-numbers'],
\ 's' : [':s/\%V\(.*\)\%V/"\1"/' , 'surround'],
\ 'r' : [':set norelativenumber!' , 'relative line nums'],
\ 'v' : [':Codi' , 'virtual repl on'],
\ 'V' : [':Codi!' , 'virtual repl off'],
\ }
" \ 'l' : [':Bracey' , 'start live server'],
" \ 'L' : [':BraceyStop' , 'stop live server'],
" b is for buffer " b is for buffer
let g:which_key_map.b = { let g:which_key_map.b = {
\ 'name' : '+buffer' , \ 'name' : '+buffer' ,
@ -99,17 +57,6 @@ let g:which_key_map.d = {
\ 'r' : ['DebugToggleRepl' , 'toggle repl'], \ 'r' : ['DebugToggleRepl' , 'toggle repl'],
\ 's' : ['DebugStart' , 'start'], \ 's' : ['DebugStart' , 'start'],
\ } \ }
" \ 'O' : ['DebugStepOut' , 'next-buffer'],
" \ 'S' : ['DebugGetSession ' , 'fzf-buffer'],
" D is for database
let g:which_key_map.D = {
\ 'name' : '+database' ,
\ 'u' : ['DBUIToggle ' , 'db ui toggle'],
\ 'f' : ['DBUIFindBuffer' , 'db find buffer'],
\ 'r' : ['DBUIRenameBuffer' , 'db rename buffer'],
\ 'l' : ['DBUILastQueryInfo' , 'db last query'],
\ }
" F is for fold " F is for fold
let g:which_key_map.F = { let g:which_key_map.F = {
@ -126,15 +73,6 @@ let g:which_key_map.F = {
\ '6' : [':set foldlevel=6' , 'level6'] \ '6' : [':set foldlevel=6' , 'level6']
\ } \ }
" m is for mark
" I'd rather use regular marks but they never clear
let g:which_key_map.m = {
\ 'name': '+mark',
\ 't' : [':BookmarkToggle' , 'toggle'],
\ 'j' : [':BookmarkNext' , 'next mark'],
\ 'k' : [':BookmarkPrev' , 'prev mark']
\ }
" s is for search powered by telescope " s is for search powered by telescope
let g:which_key_map.s = { let g:which_key_map.s = {
\ 'name' : '+search' , \ 'name' : '+search' ,
@ -177,21 +115,6 @@ let g:which_key_map.g = {
\ 'S' : [':Gstatus' , 'status'], \ 'S' : [':Gstatus' , 'status'],
\ 'u' : [':UndoStageHunk' , 'undo stage hunk'], \ 'u' : [':UndoStageHunk' , 'undo stage hunk'],
\ } \ }
" \ 'n' : [':Neogit' , 'neogit'],
" G is for gist
let g:which_key_map.G = {
\ 'name' : '+gist' ,
\ 'b' : [':Gist -b' , 'post gist browser'],
\ 'd' : [':Gist -d' , 'delete gist'],
\ 'e' : [':Gist -e' , 'edit gist'],
\ 'l' : [':Gist -l' , 'list public gists'],
\ 's' : [':Gist -ls' , 'list starred gists'],
\ 'm' : [':Gist -m' , 'post gist all buffers'],
\ 'p' : [':Gist -P' , 'post public gist '],
\ 'P' : [':Gist -p' , 'post private gist '],
\ }
" \ 'a' : [':Gist -a' , 'post gist anon'],
" l is for language server protocol " l is for language server protocol
let g:which_key_map.l = { let g:which_key_map.l = {
@ -213,30 +136,5 @@ let g:which_key_map.l = {
\ 's' : [':Telescope lsp_document_symbols' , 'document symbols'], \ 's' : [':Telescope lsp_document_symbols' , 'document symbols'],
\ 'S' : [':Telescope lsp_workspace_symbols' , 'workspace symbols'], \ 'S' : [':Telescope lsp_workspace_symbols' , 'workspace symbols'],
\ } \ }
" \ 'H' : [':Lspsaga signature_help' , 'signature_help'],
" \ 'o' : [':Vista!!' , 'outline'],
" t is for terminal
let g:which_key_map.t = {
\ 'name' : '+terminal' ,
\ ';' : [':FloatermNew --wintype=normal --height=6' , 'terminal'],
\ 'f' : [':FloatermNew fzf' , 'fzf'],
\ 'g' : [':FloatermNew lazygit' , 'git'],
\ 'd' : [':FloatermNew lazydocker' , 'docker'],
\ 'n' : [':FloatermNew node' , 'node'],
\ 'N' : [':FloatermNew nnn' , 'nnn'],
\ 'p' : [':FloatermNew python' , 'python'],
\ 'm' : [':FloatermNew lazynpm' , 'npm'],
\ 't' : [':FloatermToggle' , 'toggle'],
\ 'y' : [':FloatermNew ytop' , 'ytop'],
\ 'u' : [':FloatermNew ncdu' , 'ncdu'],
\ }
" \ 'r' : [':FloatermNew ranger' , 'ranger'],
" let g:which_key_map.R = {
" \ 'name' : '+Find_Replace' ,
" \ 'f' : [':Farr --source=vimgrep' , 'file'],
" \ 'p' : [':Farr --source=rgnvim' , 'project'],
" \ }
call which_key#register('<Space>', "g:which_key_map") call which_key#register('<Space>', "g:which_key_map")