chore: initial commit

This commit is contained in:
Alexandre Cavalheiro S. Tiago Da Silva 2021-04-05 10:48:05 -03:00
commit 67c7ccd66b
No known key found for this signature in database
GPG key ID: 03C18A5682B3E189
11102 changed files with 455009 additions and 0 deletions

View file

@ -0,0 +1,14 @@
{
"clangd.fallbackFlags": ["-std=c++17"],
"coc.source.around.firstMatch": false,
"coc.source.buffer.firstMatch": false,
"languageserver": {
"godot": {
"host": "127.0.0.1",
"filetypes": ["gdscript"],
"port": 6008
}
}
}

326
.config/nvim/init.vim Normal file
View file

@ -0,0 +1,326 @@
" =======
" [ GENERAL ]
" =======
" This section is dedicated to general settings of the editor.
" Set the encoding
set encoding=utf8
scriptencoding utf8
" Set true colors
set termguicolors
" Set the EOL 'style'
set fileformat=unix
" Set the locale
try
lang en_US
catch
endtry
" Disable unsafe commands
set secure
" Add subfolders in the path
set path+=**
" Automatically set the directory to the buffer's directory
set autochdir
" Add confirmation dialog when quitting if there are unsaved changes
set confirm
try
set undodir=~/.config/nvim/undo
set undofile
set backupdir=~/.config/nvim/backup
set backup
set directory=~/.config/nvim/swap
catch
endtry
" =======
" [ PLUGINS ]
" =======
" Section dedicated to plugins and their configurations.
" Initialize plugin manager (vim-plug)
call plug#begin('~/.config/nvim/plugins')
" <coc.nvim>
Plug 'neoclide/coc.nvim' " Core plugin
Plug 'elixir-lsp/coc-elixir', {'do': 'yarn install --frozen-lockfile'} " Elixir
Plug 'fannheyward/coc-sql', {'do': 'yarn install --frozen-lockfile'} " SQL
Plug 'neoclide/coc-css', {'do': 'yarn install --frozen-lockfile'} " CSS
Plug 'neoclide/coc-eslint', { 'do': 'yarn install --frozen-lockfile' } " ESLint
Plug 'neoclide/coc-tsserver', {'do': 'yarn install --frozen-lockfile'} " TypeScript
Plug 'neoclide/coc-json', {'do': 'yarn install --frozen-lockfile'} " JSON
Plug 'neoclide/coc-html', {'do': 'yarn install --frozen-lockfile'} " HTML
Plug 'neoclide/coc-highlight', {'do': 'yarn install --frozen-lockfile'} " Highlighting
" Make <CR> auto-select the first completion item and notify coc.nvim to
" format on enter, <cr> could be remapped by other vim plugin
inoremap <silent><expr> <a-cr> pumvisible() ? coc#_select_confirm()
\: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"
" Use tab for trigger completion with characters ahead and navigate.
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
function! s:check_back_space() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction
" Interactive finder
Plug 'liuchengxu/vim-clap', { 'do': ':Clap install-binary' }
" Comment out lines in any* language
Plug 'tpope/vim-commentary'
" Integrate VIM (https://editorconfig.org/)
Plug 'editorconfig/editorconfig-vim'
" Collection of language packs for highlighting
Plug 'sheerun/vim-polyglot'
" Godot syntax highlighting + folding & running scenes
Plug 'habamax/vim-godot'
" HTML5 snippets
Plug 'mattn/emmet-vim' " Snippets
" Configurable statusline
Plug 'itchyny/lightline.vim'
" Configure the statusline
let g:lightline =
\{
\ 'colorscheme': 'dracula',
\ 'component': {
\ 'lineinfo': ' %3l:%-2v',
\ },
\ 'component_function': {
\ 'readonly': 'LightlineReadonly',
\ 'fugitive': 'LightlineFugitive'
\ },
\ 'separator': { 'left': '', 'right': '' },
\ 'subseparator': { 'left': '', 'right': '' }
\}
" Helper functions
function! LightlineReadonly()
return &readonly ? '' : ''
endfunction
" Dracula colorscheme
Plug 'dracula/vim'
" Make the background 'transparent'
let g:dracula_colorterm=0
" Markdown visualizer
Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app && yarn install' }
" specify browser to open preview page
let g:mkdp_browser = 'firefox'
" Graphical debugger
Plug 'puremourning/vimspector'
" Enable default mappings
let g:vimspector_enable_mappings = 'HUMAN'
" Stops the plugin manager
call plug#end()
" Re-enables filetype
filetype plugin indent on " required! re-enables filetype
" =========
" [ INTERFACE ]
" =========
" Section dedicated to configurations that are related to the interface.
" Set the matches for insert mode completion
set complete=.,w,b,u,kspell
" List of options for insert mode completion
set completeopt=longest,menuone,preview,noselect
" Remove ins-complete-menu messages
set shortmess+=c
" Enable hidden buffers, so when quitting a window the buffer stays listed
set hidden
" Sets the behaviour of backspace
set backspace=indent,eol,start
" Ignore case in search patterns
set ignorecase
" Keep the cursor in the same column when moving around
set nostartofline
" Disable line wrapping (visual)
set nowrap
" When splitting windows vertically, put it to the right of the current one
set splitright
" Show completion options on command-line
set wildmenu
" Showcase line numbers relative to current
" 'set number' makes it so the current line shows it's 'true' line number
set number
set relativenumber
" Sets the fold method based on syntax highlight
set foldmethod=syntax
" Shows a column with signs in the left, in case there is any
set signcolumn=auto
" Disable screen redraw while executing commands that haven't been typed
set nolazyredraw
" Don't show current mode in the command-line
set noshowmode
" Override the 'ignorecase' option if it contains upper case characters
set smartcase
" Jumps to nearest search result if there are any
if exists("+incsearch")
set incsearch
endif
" Set the background 'theme' to dark
set background=dark
" Set a colorscheme if the terminal has colors
if &t_Co > 2 || has("gui_running")
try
colorscheme dracula
" Sets colorscheme
catch /^Vim\%((\a\+)\)\=:E185/
" Not available
endtry
endif
" Enables syntax highlighting if feature is installed
if exists("+syntax")
syntax on
" More accurately highlight file
syntax sync fromstart
endif
" When searching a previous search pattern, highlight all its matches
if exists("+hlsearch")
set hlsearch
endif
" Enable visual characters for eol, tab, etc
set list
" Set visual characters for eol, tab, etc
set listchars=tab:,eol,extends:,precedes:‡
" Shows matching brackets when hovering with cursor
set showmatch
" Always show the statusline
set laststatus=2
" Show (partial) command in the last line of the screen
if exists("+showcmd")
set showcmd
endif
" ==================
" [ INDENTATION & TEXT ]
" ==================
" Section dedicated to configurations that are related to indentation and text
" manipulation.
" Indent based on the lines around
set autoindent
" Include angle brackets in matching pairs
set matchpairs+=<:>
" Insert only a single space after punctuation when using join commands
set nojoinspaces
" Adds support for formatting numbered/bullet lists
set formatoptions+=n
" Defaults to tab identation with length of four
set shiftwidth=4
set tabstop=4
" Insert smartly the indentation according shiftwidth
if exists("+smarttab")
set smarttab
endif
"
if exists("+smartindent")
set smartindent
endif
" =========
" [ SHORTCUTS ]
" =========
" Section dedicated to adding shortcuts
" Set the <leader> to a better key
let mapleader=","
" Change between dark and light backgrounds
function ChangeBackground()
if &background ==# 'dark'
set background=light
elseif &background ==# 'light'
set background=dark
endif
endfunction
" Map the function a shortcut
nmap <silent> <leader>tc :call ChangeBackground()<cr>
" Enable spell checking
map <leader>sc :setlocal spell!<cr>
" Remove highlights more quickly
nmap <silent> <leader>n :noh<cr>
" Open NETRW
nnoremap <silent> <leader>t :Vexplore<cr>
" Location list shortcuts
nnoremap <silent> <leader>lo :lopen<cr>
nnoremap <silent> <leader>lc :lclose<cr>
nnoremap <silent> <leader>ln :lnext<cr>
nnoremap <silent> <leader>lp :lprevious<cr>
" <coc.nvim>
nmap <silent> <leader>gd <Plug>(coc-definition)
nmap <silent> <leader>gy <Plug>(coc-type-definition)
nmap <silent> <leader>gi <Plug>(coc-implementation)
nmap <silent> <leader>gr <Plug>(coc-references)
" vim-clap
nmap <silent> <leader>vf :Clap files<cr>
nmap <silent> <leader>vg :Clap grep<cr>
nmap <silent> <leader>vm :Clap marks<cr>