first commit

This commit is contained in:
MasterGordon 2021-07-02 11:10:46 +02:00
commit 355ff09d86
14 changed files with 795 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
plugged/

25
basic.vim Normal file
View File

@ -0,0 +1,25 @@
set number relativenumber
set clipboard=unnamedplus
set mouse=a
set t_Co=16
set termguicolors
filetype plugin indent on
" show existing tab with 4 spaces width
set tabstop=2
" when indenting with '>', use 4 spaces width
set shiftwidth=2
" On pressing tab, insert 4 spaces
set expandtab
" Spellcheck
autocmd FileType markdown setlocal spell spelllang=de,en
set splitright
set splitbelow
" allow two signs to show up in the sign collumn eg. todo comment and git status
set signcolumn=auto:2
" set leader key
let mapleader = ","

5
init.vim Normal file
View File

@ -0,0 +1,5 @@
source ~/.config/nvim/basic.vim
source ~/.config/nvim/plugins.vim
autocmd bufnewfile,bufread *.tsx set filetype=typescriptreact
autocmd bufnewfile,bufread *.jsx set filetype=javascriptreact

321
plugins.vim Normal file
View File

@ -0,0 +1,321 @@
call plug#begin()
Plug 'glepnir/galaxyline.nvim' , {'branch': 'main'}
Plug 'kyazdani42/nvim-web-devicons' " for file icons
Plug 'kyazdani42/nvim-tree.lua'
Plug 'junegunn/goyo.vim'
Plug 'JoosepAlviste/nvim-ts-context-commentstring'
Plug 'tpope/vim-commentary'
Plug 'mhinz/vim-signify'
Plug 'neovim/nvim-lspconfig'
Plug 'mhartington/formatter.nvim'
Plug 'hrsh7th/nvim-compe'
Plug 'onsails/lspkind-nvim'
Plug 'MasterGordon/monokai.nvim'
Plug 'ron89/thesaurus_query.vim'
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
Plug 'blackcauldron7/surround.nvim'
Plug 'nvim-lua/popup.nvim'
Plug 'nvim-lua/plenary.nvim'
Plug 'nvim-telescope/telescope.nvim'
Plug 'SidOfc/mkdx'
Plug 'nacro90/numb.nvim'
Plug 'glepnir/dashboard-nvim'
Plug 'norcalli/nvim-colorizer.lua'
Plug 'davidgranstrom/nvim-markdown-preview'
Plug 'RishabhRD/popfix'
Plug 'RishabhRD/nvim-lsputils'
Plug 'akinsho/nvim-bufferline.lua'
Plug 'folke/todo-comments.nvim'
Plug 'windwp/nvim-ts-autotag'
Plug 'jiangmiao/auto-pairs'
Plug 'simrat39/symbols-outline.nvim'
Plug 'ray-x/lsp_signature.nvim'
" post install (yarn install | npm install) then load plugin only for editing supported files
call plug#end()
nmap <leader>f <CMD>Telescope find_files<CR>
lua require('numb').setup()
" Theme
colorscheme monokai
" StatusLine
luafile $HOME/.config/nvim/plugins/galaxyline.lua
" Lsp Signature
" lua require'lsp_signature'.on_attach()
" Dashboard
let g:dashboard_default_executive ='telescope'
nnoremap <silent> <Leader>r :DashboardFindHistory<CR>
" Startify
let g:startify_custom_header = startify#pad(split(system('cat $HOME/.config/nvim/splash'), '\n'))
lua << EOF
function _G.webDevIcons(path)
local filename = vim.fn.fnamemodify(path, ':t')
local extension = vim.fn.fnamemodify(path, ':e')
return require'nvim-web-devicons'.get_icon(filename, extension, { default = true })
end
EOF
function! StartifyEntryFormat() abort
return 'v:lua.webDevIcons(absolute_path) . " " . entry_path'
endfunction
" commentstring
lua << EOF
require'nvim-treesitter.configs'.setup {
context_commentstring = {
enable = true
}
}
EOF
" Outline
noremap <silent> <leader>o :SymbolsOutline<CR>
" Bufferline
lua <<EOF
diagnostics_indicator = function(count, level, diagnostics_dict, context)
local s = " "
for e, n in pairs(diagnostics_dict) do
local sym = e == "error" and " "
or (e == "warning" and " " or "" )
s = s .. n .. sym
end
return s
end
require'bufferline'.setup{
options = {
always_show_bufferline = true,
diagnostics_indicator = diagnostics_indicator,
diagnostics = "nvim_lsp",
separator_style = "thin"
}
}
EOF
noremap <silent> <A-1> :lua require"bufferline".go_to_buffer(1)<CR>
noremap <silent> <A-2> :lua require"bufferline".go_to_buffer(2)<CR>
noremap <silent> <A-3> :lua require"bufferline".go_to_buffer(3)<CR>
noremap <silent> <A-4> :lua require"bufferline".go_to_buffer(4)<CR>
noremap <silent> <A-5> :lua require"bufferline".go_to_buffer(5)<CR>
noremap <silent> <A-6> :lua require"bufferline".go_to_buffer(6)<CR>
noremap <silent> <A-7> :lua require"bufferline".go_to_buffer(7)<CR>
noremap <silent> <A-8> :lua require"bufferline".go_to_buffer(8)<CR>
noremap <silent> <A-9> :lua require"bufferline".go_to_buffer(9)<CR>
noremap <silent> <A-0> :lua require"bufferline".go_to_buffer(10)<CR>
noremap <A-Left> <C-w><Left>
noremap <A-Up> <C-w><Up>
noremap <A-Down> <C-w><Down>
noremap <A-Right> <C-w><Right>
" colorizer
lua <<EOF
require 'colorizer'.setup {
'*'; -- Highlight all files, but customize some others.
}
EOF
" Prettier
command! -nargs=0 Prettier :CocCommand prettier.formatFile
map <leader>p :Prettier<CR>
" Surround
lua require"surround".setup{}
" NVim Tree Config
let g:nvim_tree_auto_close = 1
let g:nvim_tree_ignore = [ '.git', 'node_modules', '.cache' ]
let g:nvim_tree_indent_markers = 1
map <TAB> :NvimTreeFindFile<CR>
let g:nvim_tree_icons = {
\ 'default': '',
\ 'symlink': '',
\ 'git': {
\ 'unstaged': "✗",
\ 'staged': "✓",
\ 'unmerged': "",
\ 'renamed': "➜",
\ 'untracked': "★"
\ },
\ 'folder': {
\ 'default': "",
\ 'open': "",
\ 'symlink': "",
\ }
\ }
lua <<EOF
local tree_cb = require'nvim-tree.config'.nvim_tree_callback
vim.g.nvim_tree_bindings = {
-- default mappings
["<CR>"] = tree_cb("edit"),
["<2-LeftMouse>"] = tree_cb("edit"),
["<2-RightMouse>"] = tree_cb("cd"),
["<C-]>"] = tree_cb("cd"),
["s"] = tree_cb("vsplit"),
["i"] = tree_cb("split"),
["t"] = tree_cb("tabnew"),
["<"] = tree_cb("prev_sibling"),
[">"] = tree_cb("next_sibling"),
["<BS>"] = tree_cb("close_node"),
["<S-CR>"] = tree_cb("close_node"),
["<Tab>"] = tree_cb("preview"),
["I"] = tree_cb("toggle_ignored"),
["I"] = tree_cb("toggle_dotfiles"),
["r"] = tree_cb("refresh"),
["c"] = tree_cb("create"),
["d"] = tree_cb("remove"),
["m"] = 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"),
}
EOF
" TreeSitter
lua <<EOF
require'nvim-treesitter.configs'.setup {
highlight = {
enable = true,
},
indent = {
enable = true
},
}
EOF
" Closetag
let g:closetag_filenames = '*.html,*.xhtml,*.phtml,*.mako,*.jsx,*.tsx'
" TS-Autotag
luafile $HOME/.config/nvim/plugins/autotag.lua
" Thesaurus
nnoremap <Leader>s :ThesaurusQueryReplaceCurrentWord<CR>
let g:tq_language=['en', 'de']
let g:tq_enabled_backends=["openthesaurus_de", "woxikon_de", "openoffice_en", "datamuse_com"]
" Tagalong
let g:tagalong_verbose = 1
let g:tagalong_filetypes = ['html', 'xml', 'jsx', 'tsx', 'eruby', 'ejs', 'eco', 'php', 'htmldjango', 'javascriptreact', 'typescriptreact', 'typescript.tsx', 'javascript.jsx', 'mako']
let g:tagalong_additional_filetypes = ['typescript.tsx', 'javascript.jsx', 'mako']
" coc.nvim
" source plugins/coc.vim
" nvim-lsp
luafile $HOME/.config/nvim/plugins/lsp.lua
" Formatter
luafile $HOME/.config/nvim/plugins/formatter.lua
" nvim.compe
luafile $HOME/.config/nvim/plugins/compe.lua
inoremap <silent><expr> <C-Space> compe#complete()
inoremap <silent><expr> <CR> compe#confirm('<CR>')
inoremap <silent><expr> <C-e> compe#close('<C-e>')
inoremap <silent><expr> <C-f> compe#scroll({ 'delta': +4 })
inoremap <silent><expr> <C-d> compe#scroll({ 'delta': -4 })
" lspkind
lua <<EOF
require('lspkind').init({
-- with_text = true,
-- symbol_map = {
-- Text = '',
-- Method = 'ƒ',
-- Function = '',
-- Constructor = '',
-- Variable = '',
-- Class = '',
-- Interface = 'ﰮ',
-- Module = '',
-- Property = '',
-- Unit = '',
-- Value = '',
-- Enum = '了',
-- Keyword = '',
-- Snippet = '﬌',
-- Color = '',
-- File = '',
-- Folder = '',
-- EnumMember = '',
-- Constant = '',
-- Struct = ''
-- },
})
EOF
" vim-signify
let g:signify_sign_add = '│'
let g:signify_sign_change = '│'
" todo-comments
lua << EOF
require("todo-comments").setup (
{
signs = true, -- show icons in the signs column
sign_priority = 20, -- sign priority
-- keywords recognized as todo comments
keywords = {
FIX = {
icon = " ", -- icon used for the sign, and in search results
color = "error", -- can be a hex color, or a named color (see below)
alt = { "FIXME", "BUG", "FIXIT", "ISSUE" }, -- a set of other keywords that all map to this FIX keywords
-- signs = false, -- configure signs for some keywords individually
},
TODO = { icon = " ", color = "info" },
HACK = { icon = " ", color = "warning" },
WARN = { icon = " ", color = "warning", alt = { "WARNING", "XXX" } },
PERF = { icon = " ", alt = { "OPTIM", "PERFORMANCE", "OPTIMIZE" } },
NOTE = { icon = " ", color = "hint", alt = { "INFO" } },
},
merge_keywords = true, -- when true, custom keywords will be merged with the defaults
-- highlighting of the line containing the todo comment
-- * before: highlights before the keyword (typically comment characters)
-- * keyword: highlights of the keyword
-- * after: highlights after the keyword (todo text)
highlight = {
before = "", -- "fg" or "bg" or empty
keyword = "wide", -- "fg", "bg", "wide" or empty. (wide is the same as bg, but will also highlight surrounding characters)
after = "fg", -- "fg" or "bg" or empty
pattern = [[.*<(KEYWORDS)\s*:]], -- pattern used for highlightng (vim regex)
comments_only = true, -- uses treesitter to match keywords in comments only
max_line_len = 400, -- ignore lines longer than this
},
-- list of named colors where we try to extract the guifg from the
-- list of hilight groups or use the hex color if hl not found as a fallback
colors = {
error = { "LspDiagnosticsDefaultError", "ErrorMsg", "#DC2626" },
warning = { "LspDiagnosticsDefaultWarning", "WarningMsg", "#FBBF24" },
info = { "LspDiagnosticsDefaultInformation", "#2563EB" },
hint = { "LspDiagnosticsDefaultHint", "#10B981" },
default = { "Identifier", "#7C3AED" },
},
search = {
command = "rg",
args = {
"--color=never",
"--no-heading",
"--with-filename",
"--line-number",
"--column",
},
-- regex that will be used to match keywords.
-- don't replace the (KEYWORDS) placeholder
pattern = [[\b(KEYWORDS):]], -- ripgrep regex
-- pattern = [[\b(KEYWORDS)\b]], -- match without the extra colon. You'll likely get false positives
},
}
)
EOF

2
plugins/autotag.lua Normal file
View File

@ -0,0 +1,2 @@
require('nvim-ts-autotag').setup()

25
plugins/compe.lua Normal file
View File

@ -0,0 +1,25 @@
vim.o.completeopt = "menuone,noselect"
require'compe'.setup {
enabled = true;
autocomplete = true;
debug = false;
min_length = 1;
preselect = 'enable';
throttle_time = 80;
source_timeout = 200;
incomplete_delay = 400;
max_abbr_width = 100;
max_kind_width = 100;
max_menu_width = 100;
documentation = true;
source = {
path = true;
buffer = true;
calc = true;
nvim_lsp = true;
nvim_lua = true;
vsnip = false;
};
}

43
plugins/formatter.lua Normal file
View File

@ -0,0 +1,43 @@
local prettierd = function()
return {
exe = "prettierd",
args = {vim.api.nvim_buf_get_name(0)},
stdin = true
}
end
require("formatter").setup(
{
logging = false,
filetype = {
typescriptreact = {prettierd},
json = {prettierd},
css = {prettierd},
scss = {prettierd},
markdown = {prettierd},
typescript = {prettierd},
javascript = {prettierd},
javascriptreact = {prettierd},
lua = {
-- luafmt
function()
return {
exe = "luafmt",
args = {"--indent-count", 2, "--stdin"},
stdin = true
}
end
}
}
}
)
vim.api.nvim_exec(
[[
augroup FormatAutogroup
autocmd!
autocmd BufWritePost *.lua,*.tsx,*.ts,*.js,*.jsx,*.json FormatWrite
augroup END
]],
true
)

214
plugins/galaxyline.lua Normal file
View File

@ -0,0 +1,214 @@
local gl = require('galaxyline')
local colors = require('galaxyline.theme').default
local monokai = require('monokai')
local condition = require('galaxyline.condition')
local gls = gl.section
colors.bg = monokai.bg;
gl.short_line_list = {'NvimTree','vista','dbui','packer'}
gls.left[2] = {
ViMode = {
provider = function()
-- auto change color according the vim mode
local mode_color = {n = colors.green, i = colors.red,v=colors.blue,
[''] = colors.blue,V=colors.blue,
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}
local mode_map = {
['n'] = 'NORMAL ',
['no'] = 'N·OPERATOR PENDING ',
['v'] = 'VISUAL ',
['V'] = 'V·LINE ',
[''] = 'V·BLOCK ',
['s'] = 'SELECT ',
['S'] = 'S·LINE ',
[''] = 'S·BLOCK ',
['i'] = 'INSERT ',
['R'] = 'REPLACE ',
['Rv'] = 'V·REPLACE ',
['c'] = 'COMMAND ',
['cv'] = 'VIM EX ',
['ce'] = 'EX ',
['r'] = 'PROMPT ',
['rm'] = 'MORE ',
['r?'] = 'CONFIRM ',
['!'] = 'SHELL ',
['t'] = 'TERMINAL '}
vim.api.nvim_command('hi GalaxyViMode guibg='..mode_color[vim.fn.mode()])
return ' '..mode_map[vim.fn.mode()]
end,
separator = ' ',
separator_highlight = {nil,colors.bg},
highlight = {colors.bg,colors.bg,'bold'},
},
}
gls.left[3] = {
Macro = {
provider = function()
local reg = vim.fn.reg_recording()
if (reg == nil) or (reg == '') then
return ''
else
return '' .. vim.call('reg_recording') .. ' '
end
end,
highlight = {colors.red, colors.bg},
}
}
gls.left[5] ={
FileIcon = {
provider = 'FileIcon',
condition = condition.buffer_not_empty,
highlight = {require('galaxyline.provider_fileinfo').get_file_icon_color,colors.bg},
},
}
gls.left[6] = {
FileName = {
provider = 'FileName',
condition = condition.buffer_not_empty,
highlight = {colors.magenta,colors.bg,'bold'}
}
}
gls.left[7] = {
LineInfo = {
provider = 'LineColumn',
separator = ' ',
separator_highlight = {'NONE',colors.bg},
highlight = {colors.fg,colors.bg},
},
}
gls.left[8] = {
PerCent = {
provider = 'LinePercent',
separator = ' ',
separator_highlight = {'NONE',colors.bg},
highlight = {colors.fg,colors.bg,'bold'},
}
}
gls.left[9] = {
DiagnosticError = {
provider = 'DiagnosticError',
icon = '',
highlight = {colors.red,colors.bg}
}
}
gls.left[10] = {
DiagnosticWarn = {
provider = 'DiagnosticWarn',
icon = '',
highlight = {colors.yellow,colors.bg},
}
}
gls.left[11] = {
DiagnosticHint = {
provider = 'DiagnosticHint',
icon = '',
highlight = {colors.cyan,colors.bg},
}
}
gls.left[12] = {
DiagnosticInfo = {
provider = 'DiagnosticInfo',
icon = '',
highlight = {colors.blue,colors.bg},
}
}
gls.right[1] = {
FileEncode = {
provider = 'FileEncode',
condition = condition.hide_in_width,
separator = ' ',
separator_highlight = {'NONE',colors.bg},
highlight = {colors.green,colors.bg,'bold'}
}
}
gls.right[2] = {
FileFormat = {
provider = 'FileFormat',
condition = condition.hide_in_width,
separator = ' ',
separator_highlight = {'NONE',colors.bg},
highlight = {colors.green,colors.bg,'bold'}
}
}
gls.right[3] = {
GitIcon = {
provider = function() return '' end,
condition = condition.check_git_workspace,
separator = ' ',
separator_highlight = {'NONE',colors.bg},
highlight = {colors.violet,colors.bg,'bold'},
}
}
gls.right[4] = {
GitBranch = {
provider = 'GitBranch',
condition = condition.check_git_workspace,
highlight = {colors.violet,colors.bg,'bold'},
}
}
gls.right[5] = {
DiffAdd = {
provider = 'DiffAdd',
separator = ' ',
separator_highlight = {nil,colors.bg},
condition = condition.hide_in_width,
icon = '',
highlight = {colors.green,colors.bg},
}
}
gls.right[6] = {
DiffModified = {
provider = 'DiffModified',
condition = condition.hide_in_width,
icon = '',
highlight = {colors.orane,colors.bg},
}
}
gls.right[7] = {
DiffRemove = {
provider = 'DiffRemove',
condition = condition.hide_in_width,
icon = '',
highlight = {colors.red,colors.bg},
}
}
-- File type name
-- --------------
gls.short_line_left[1] = {
ShortLineFileName = {
provider = 'FileName',
condition = condition.buffer_not_empty,
highlight = {colors.fg, colors.bg},
separator = ' ',
separator_highlight = {nil, colors.bg}
},
}
-- Buffer icon
-- -----------
gls.short_line_right[1] = {
BufferIcon = {
provider = 'BufferIcon',
highlight = {colors.fg, colors.bg},
}
}

102
plugins/lsp.lua Normal file
View File

@ -0,0 +1,102 @@
vim.lsp.handlers["textDocument/codeAction"] = require "lsputil.codeAction".code_action_handler
vim.lsp.handlers["textDocument/references"] = require "lsputil.locations".references_handler
vim.lsp.handlers["textDocument/definition"] = require "lsputil.locations".definition_handler
vim.lsp.handlers["textDocument/declaration"] = require "lsputil.locations".declaration_handler
vim.lsp.handlers["textDocument/typeDefinition"] = require "lsputil.locations".typeDefinition_handler
vim.lsp.handlers["textDocument/implementation"] = require "lsputil.locations".implementation_handler
vim.lsp.handlers["textDocument/documentSymbol"] = require "lsputil.symbols".document_handler
vim.lsp.handlers["workspace/symbol"] = require "lsputil.symbols".workspace_handler
vim.fn.sign_define(
"LspDiagnosticsSignError",
{texthl = "LspDiagnosticsSignError", text = "", numhl = "LspDiagnosticsSignError"}
)
vim.fn.sign_define(
"LspDiagnosticsSignWarning",
{texthl = "LspDiagnosticsSignWarning", text = "", numhl = "LspDiagnosticsSignWarning"}
)
vim.fn.sign_define(
"LspDiagnosticsSignHint",
{texthl = "LspDiagnosticsSignHint", text = "", numhl = "LspDiagnosticsSignHint"}
)
vim.fn.sign_define(
"LspDiagnosticsSignInformation",
{texthl = "LspDiagnosticsSignInformation", text = "", numhl = "LspDiagnosticsSignInformation"}
)
--- Languages
require "lspconfig".bashls.setup {}
require "lspconfig".ccls.setup {}
require "lspconfig".clangd.setup {}
require "lspconfig".cssls.setup {}
require "lspconfig".html.setup {}
require "lspconfig".jsonls.setup {}
require "lspconfig".pyls.setup {}
require "lspconfig".pyright.setup {}
require "lspconfig".tsserver.setup {}
require "lspconfig".vimls.setup {}
require "lspconfig".yamlls.setup {}
--- ESLINT
local eslint = {
lintCommand = "eslint_d -f visualstudio --stdin --stdin-filename ${INPUT}",
lintIgnoreExitCode = true,
lintStdin = true,
lintFormats = {
"%f(%l,%c): %tarning %m",
"%f(%l,%c): %rror %m"
}
}
require "lspconfig".efm.setup {
init_options = {documentFormatting = true},
filetypes = {"javascript", "typescript", "javascriptreact", "typescriptreact"},
init_options = {documentFormatting = true},
settings = {
rootMarkers = {".eslintrc.js", ".git/"},
languages = {
javascript = {eslint},
typescript = {eslint},
typescriptreact = {eslint},
javascriptreact = {eslint}
}
}
}
--- Keybindings
local nvim_lsp = require("lspconfig")
local on_attach = function(client, bufnr)
local function buf_set_keymap(...)
vim.api.nvim_buf_set_keymap(bufnr, ...)
end
local function buf_set_option(...)
vim.api.nvim_buf_set_option(bufnr, ...)
end
-- Mappings.
local opts = {noremap = true, silent = true}
buf_set_keymap("n", "gD", "<Cmd>lua vim.lsp.buf.declaration()<CR>", opts)
buf_set_keymap("n", "gd", "<Cmd>lua vim.lsp.buf.definition()<CR>", opts)
buf_set_keymap("n", "K", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts)
buf_set_keymap("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
buf_set_keymap("n", "<C-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
buf_set_keymap("n", "<space>wa", "<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>", opts)
buf_set_keymap("n", "<space>wr", "<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>", opts)
buf_set_keymap("n", "<space>wl", "<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>", opts)
buf_set_keymap("n", "<leader>t", "<cmd>lua vim.lsp.buf.type_definition()<CR>", opts)
buf_set_keymap("n", "<F2>", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
buf_set_keymap("n", "<leader>a", "<cmd>lua vim.lsp.buf.code_action()<CR>", opts)
buf_set_keymap("n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
buf_set_keymap("n", "<leader>d", "<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>", opts)
buf_set_keymap("n", "[d", "<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>", opts)
buf_set_keymap("n", "]d", "<cmd>lua vim.lsp.diagnostic.goto_next()<CR>", opts)
buf_set_keymap("n", "<space>q", "<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>", opts)
end
local servers = {"pyright", "rust_analyzer", "tsserver"}
for _, lsp in ipairs(servers) do
nvim_lsp[lsp].setup {on_attach = on_attach}
end

36
plugins/lspsaga.lua Normal file
View File

@ -0,0 +1,36 @@
local saga = require 'lspsaga'
saga.init_lsp_saga {
use_saga_diagnostic_sign = true,
error_sign = '',
warn_sign = '',
hint_sign = '',
infor_sign = '',
dianostic_header_icon = '',
code_action_icon = '',
code_action_prompt = {
enable = true,
sign = true,
sign_priority = 20,
virtual_text = true,
},
finder_definition_icon = '',
finder_reference_icon = '',
max_preview_lines = 10, -- preview lines of lsp_finder and definition preview
finder_action_keys = {
open = 'o', vsplit = 's',split = 'i',quit = 'q',scroll_down = '<C-f>', scroll_up = '<C-b>' -- quit can be a table
},
code_action_keys = {
quit = 'q',exec = '<CR>'
},
rename_action_keys = {
quit = '<C-c>',exec = '<CR>' -- quit can be a table
},
definition_preview_icon = '',
-- "single" "double" "round" "plus"
border_style = "single",
rename_prompt_prefix = '',
-- if you don't use nvim-lspconfig you must pass your server name and
-- the related filetypes into this table
server_filetype_map = {},
}

15
spell/de.utf-8.add Normal file
View File

@ -0,0 +1,15 @@
data
content
app
JS
CSS
JSON
Frameworks
cherrypy
mappings
Application
templates
Gordon
author
index
request

BIN
spell/de.utf-8.add.spl Normal file

Binary file not shown.

BIN
spell/de.utf-8.spl Normal file

Binary file not shown.

6
splash Normal file
View File

@ -0,0 +1,6 @@
'|. '|' '||''''| ..|''|| '||' '|' '||' '|| ||'
|'| | || . .|' || '|. .' || ||| |||
| '|. | ||''| || || || | || |'|..'||
| ||| || '|. || ||| || | '|' ||
.|. '| .||.....| ''|...|' | .||. .|. | .||.