summaryrefslogtreecommitdiff
path: root/init.vim
diff options
context:
space:
mode:
Diffstat (limited to 'init.vim')
-rw-r--r--init.vim112
1 files changed, 112 insertions, 0 deletions
diff --git a/init.vim b/init.vim
new file mode 100644
index 0000000..09be3d6
--- /dev/null
+++ b/init.vim
@@ -0,0 +1,112 @@
+call plug#begin()
+" LSP Support
+Plug 'neovim/nvim-lspconfig'
+Plug 'williamboman/mason.nvim', { 'do':':MasonUpdate' }
+Plug 'williamboman/mason-lspconfig.nvim'
+" Autocompletion
+Plug 'hrsh7th/nvim-cmp'
+Plug 'hrsh7th/cmp-nvim-lsp'
+Plug 'hrsh7th/cmp-buffer'
+Plug 'hrsh7th/cmp-path'
+Plug 'hrsh7th/cmp-nvim-lua'
+" Snippets
+Plug 'hrsh7th/cmp-vsnip'
+Plug 'hrsh7th/vim-vsnip'
+
+" Formatter
+Plug 'sbdchd/neoformat'
+Plug 'mhartington/formatter.nvim'
+
+" Tutor
+Plug 'ThePrimeagen/vim-be-good'
+
+" Colorscheme
+Plug 'bluz71/vim-moonfly-colors'
+
+" File Browsers
+Plug 'nvim-lua/plenary.nvim'
+Plug 'MunifTanjim/nui.nvim'
+Plug 'nvim-neo-tree/neo-tree.nvim', { 'branch': 'v2.x' }
+Plug 'mcchrish/nnn.vim'
+
+" Git
+Plug 'tpope/vim-fugitive'
+Plug 'airblade/vim-gitgutter'
+
+" Linter
+Plug 'dense-analysis/ale'
+" Godot Mono tools
+Plug 'habamax/vim-godot'
+Plug 'OmniSharp/omnisharp-vim'
+call plug#end()
+
+" Vanilla settings
+set termguicolors
+set number
+set relativenumber
+set expandtab
+set tabstop=4
+set shiftwidth=4
+set autoindent
+set smartindent
+set cc=100
+
+" Custom colorscheme
+colorscheme moonfly
+
+" Neo-tree
+let g:neo_tree_remove_legacy_commands = 1
+
+" ALE settings
+"let g:ale_completion_enabled = 0
+"let g:ale_completion_autoimport = 1
+
+" Define linter for C#
+let g:ale_linters = {
+\ 'cs': ['OmniSharp']
+\}
+
+" Define linter for GDScript
+"call ale#linter#Define('gdscript', {
+"\ 'name': 'godot',
+"\ 'lsp': 'socket',
+"\ 'address': '127.0.0.1:6005',
+"\ 'project_root': 'project.godot',
+"\})
+
+" Neoformat settings
+let g:neoformat_enabled_cs = [ 'csharpier' ]
+augroup fmt
+ autocmd!
+ autocmd BufWritePre * undojoin | Neoformat
+augroup END
+
+" NNN settings
+let g:nnn#command = 'nnn -H'
+
+" OmniSharp settings
+let g:OmniSharp_popup_position = 'peek'
+if has('nvim')
+ let g:OmniSharp_popup_options = {
+ \ 'winblend': 30,
+ \ 'winhl': 'Normal:Normal,FloatBorder:ModeMsg',
+ \ 'border': 'rounded'
+ \}
+else
+ let g:OmniSharp_popup_options = {
+ \ 'highlight': 'Normal',
+ \ 'padding': [0],
+ \ 'border': [1],
+ \ 'borderchars': ['─', '│', '─', '│', '╭', '╮', '╯', '╰'],
+ \ 'borderhighlight': ['ModeMsg']
+ \}
+endif
+let g:OmniSharp_popup_mappings = {
+\ 'sigNext': '<C-n>',
+\ 'sigPrev': '<C-p>',
+\ 'pageDown': ['<C-f>', '<PageDown>'],
+\ 'pageUp': ['<C-b>', '<PageUp>']
+\}
+
+lua require("init")
+