diff --git a/README.md b/README.md
index 0f7290d..4070faa 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,8 @@
dotfiles
+[](screen.png)
+--------------
+
### System configuration
- `OS` Arch
- `WM` bspwm
diff --git a/config/bspwm/screen.png b/config/bspwm/screen.png
new file mode 100644
index 0000000..e2123ea
Binary files /dev/null and b/config/bspwm/screen.png differ
diff --git a/config/nvim/README.md b/config/nvim/README.md
index 2787147..840c553 100644
--- a/config/nvim/README.md
+++ b/config/nvim/README.md
@@ -5,20 +5,20 @@
yay -S neovim-nightly-bin
```
-## Install plugin manager(`vim-plug`)
+## Install plugin manager(`packer`)
```bash
-sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
- https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
+git clone https://github.com/wbthomason/packer.nvim\
+ ~/.local/share/nvim/site/pack/packer/start/packer.nvim
```
## Install LSP servers
```bash
-# tsserver(JS/TS)
-npm i -g typescript typescript-language-server
-
# Go(gopls)
go get golang.org/x/tools/gopls@latest
# Python(pyls)
pip install python-language-server
+
+# JS/TS
+nvim +"LspInstall typescript"
```
diff --git a/config/nvim/init.vim b/config/nvim/init.vim
index 1eaa3d0..40ac329 100644
--- a/config/nvim/init.vim
+++ b/config/nvim/init.vim
@@ -1,33 +1,55 @@
- call plug#begin('~/.vim/plugged')
- Plug 'Smirnov-O/nten.vim'
+call plug#begin('~/.vim/plugged')
Plug 'b3nj5m1n/kommentary'
- " Plug 'mattn/emmet-vim', {'on': 'EmmetInstall'}
Plug 'nvim-lua/plenary.nvim'
- Plug 'nvim-lua/popup.nvim'
- " Plug 'editorconfig/editorconfig-vim'
- Plug 'norcalli/nvim-colorizer.lua'
- Plug 'kyazdani42/nvim-web-devicons'
- " Status line && Tab line
+ Plug 'kyazdani42/nvim-tree.lua', {'on': 'NvimTreeToggle'}
+ Plug 'junegunn/fzf.vim', {'on': ['Files', 'GFiles']}
+ " Appereance
+ Plug 'Smirnov-O/nten.vim'
Plug 'hoob3rt/lualine.nvim'
Plug 'romgrk/barbar.nvim'
- " LSP && Completion
+ " LSP
Plug 'neovim/nvim-lspconfig'
+ Plug 'kabouzeid/nvim-lspinstall'
Plug 'hrsh7th/nvim-compe'
Plug 'jiangmiao/auto-pairs'
" Git
Plug 'TimUntersberger/neogit'
Plug 'lewis6991/gitsigns.nvim'
- " File explorer
- Plug 'kyazdani42/nvim-tree.lua'
- Plug 'nvim-telescope/telescope.nvim'
- " Better syntax hl
+ " Syntax
Plug 'sheerun/vim-polyglot'
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
+
+ " Plug 'mattn/emmet-vim', {'on': 'EmmetInstall'}
+ " Plug 'norcalli/nvim-colorizer.lua'
call plug#end()
colo codedark
let mapleader=";"
-set termguicolors
+
+"== Config
+set termguicolors " GUI colors
+set nu rnu nocul " Line numbers & cursor line highlight
+set nolbr nowrap " Line wrap
+set mouse=a mh " Mouse
+set history=500 " Set history size
+set autoread " Auto read file on change
+set hidden " Change buffet without warning
+set visualbell t_vb= " Disable sounds
+set pumheight=8 " Maximum items in pop up
+set modeline " Enable modeline
+set nosmd " Disable show mode
+set nobk noswf noudf " Swap files
+set is ic scs " Search
+set spr " Split
+set enc=utf-8 fenc=utf-8 " Encoding
+set scrolloff=3 " Scroll padding
+set list listchars=tab:\|·,trail:~,space:·
+set completeopt=menuone,noselect
+
+"== Netrw file tree
+let g:netrw_liststyle = 3
+let g:netrw_banner = 0
+let g:netrw_dirhistmax = 0
"== Tab(or spaces)
set ts=4 sw=4 sts=4
@@ -36,14 +58,20 @@ set sta et ai
"== Custom commands
com! Prettier :sil !prettier -w %
com! Term :vs|winc L|se nonu nornu|start|term
-com! Notes :Files ~/notes
com! GoFmt :sil !gofmt -w %
+com! Black :sil !black %
-"== Configs
-luafile $HOME/.config/nvim/lua/plugins.lua
-source $HOME/.config/nvim/vimscript/config.vim
-source $HOME/.config/nvim/vimscript/barbar.vim
-source $HOME/.config/nvim/vimscript/emmet.vim
-source $HOME/.config/nvim/vimscript/compe.vim
-source $HOME/.config/nvim/vimscript/filetypes.vim
-source $HOME/.config/nvim/vimscript/mappings.vim
+"== Emmet
+" let g:user_emmet_mode = 'i'
+" let g:user_emmet_expandabbr_key =''
+" au FileType html,jst,pug,vue,css,less,scss :EmmetInstall
+
+"== Filetypes
+au FileType go setl noet
+au FileType javascript,yaml,json setl et ts=2 sw=2 sts=4
+au FileType python setl et ts=4 sw=4 sts=4 ai
+
+"== Config's
+lua require'config'
+so $HOME/.config/nvim/vimscript/barbar.vim
+so $HOME/.config/nvim/vimscript/mappings.vim
diff --git a/config/nvim/lua/config.lua b/config/nvim/lua/config.lua
new file mode 100644
index 0000000..fe85ee1
--- /dev/null
+++ b/config/nvim/lua/config.lua
@@ -0,0 +1,41 @@
+-- LSP servers
+require'lspinstall'.setup {}
+require'lspconfig'.gopls.setup {} -- Go
+require'lspconfig'.pyls.setup {} -- Python
+require'lspconfig'.lua.setup {} -- Lua
+require'tsserver' -- JS/TS
+require'efm' -- Linter's
+
+-- Compe
+require'compe'.setup {
+ enabled = true,
+ autocomplete = true,
+ source = {
+ -- path = true,
+ buffer = true,
+ nvim_lsp = true,
+ };
+}
+
+-- LuaLine
+require'lualine'.setup {options={
+ theme = "codedark"
+}}
+
+-- GitSigns
+require'plug.gitsigns'
+
+-- NeoGit
+require'neogit'.setup {}
+
+-- NvimTree
+require'plug.nvimtree'
+
+-- TreeSitter
+require'nvim-treesitter.configs'.setup {
+ ensure_installed = {'javascript', 'typescript', 'jsdoc', 'python', 'go'};
+ highlight = {enable=true};
+}
+
+-- Colorizer
+-- require'plug.colorizer'
diff --git a/config/nvim/lua/efm.lua b/config/nvim/lua/efm.lua
new file mode 100644
index 0000000..d09a7b0
--- /dev/null
+++ b/config/nvim/lua/efm.lua
@@ -0,0 +1,45 @@
+-- Python
+local black = {
+ formatCommand = "black ${filename}", formatStdin = true
+}
+local flake8 = {
+ lintCommand = "flake8 --ignore=E501 --stdin-display-name ${INPUT} -",
+ lintStdin = true,
+ lintFormats = {"%f:%l:%c: %m"}
+}
+
+-- Javascript
+local prettier = {
+ formatCommand = "prettier --stdin-filepath ${INPUT}", formatStdin = true
+}
+local eslint = {
+ lintCommand = "./node_modules/.bin/eslint -f unix --stdin --stdin-filename ${INPUT}",
+ lintIgnoreExitCode = true,
+ lintStdin = true,
+ lintFormats = {"%f:%l:%c: %m"},
+ formatCommand = "./node_modules/.bin/eslint --fix-to-stdout --stdin --stdin-filename=${INPUT}",
+ formatStdin = true
+}
+
+-- GoLang
+local golint = {
+ lintCommand = "golint",
+ lintIgnoreExitCode = true,
+ lintFormats = {"%f:%l:%c: %m"},
+ lintSource = "golint"
+}
+
+-- Setup
+require"lspconfig".efm.setup {
+ init_options = {documentFormatting = true, codeAction = false},
+ filetypes = {"python", "javascript", "typescript", "go"},
+ settings = {
+ rootMarkers = {".git/"},
+ languages = {
+ python = {flake8, black},
+ javascript = {eslint, prettier},
+ typescript = {eslint, prettier},
+ go = {golint}
+ }
+ }
+}
diff --git a/config/nvim/lua/plug/compe.lua b/config/nvim/lua/plug/compe.lua
deleted file mode 100644
index 5a5228b..0000000
--- a/config/nvim/lua/plug/compe.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-require'compe'.setup {
- enabled = true,
- autocomplete = true,
- source = {
- path = true,
- buffer = true,
- nvim_lsp = true,
- };
-}
diff --git a/config/nvim/lua/plug/lspconfig.lua b/config/nvim/lua/plug/lspconfig.lua
deleted file mode 100644
index b5c7838..0000000
--- a/config/nvim/lua/plug/lspconfig.lua
+++ /dev/null
@@ -1,3 +0,0 @@
-require'lspconfig'.tsserver.setup {}
-require'lspconfig'.gopls.setup {}
-require'lspconfig'.pyls.setup {}
diff --git a/config/nvim/lua/plug/lualine.lua b/config/nvim/lua/plug/lualine.lua
deleted file mode 100644
index 8158a34..0000000
--- a/config/nvim/lua/plug/lualine.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-require'lualine'.setup {
- options = {
- theme = "codedark"
- };
-}
diff --git a/config/nvim/lua/plug/neogit.lua b/config/nvim/lua/plug/neogit.lua
deleted file mode 100644
index f851d2d..0000000
--- a/config/nvim/lua/plug/neogit.lua
+++ /dev/null
@@ -1 +0,0 @@
-require'neogit'.setup {}
diff --git a/config/nvim/lua/plug/telescope.lua b/config/nvim/lua/plug/telescope.lua
deleted file mode 100644
index 60c382b..0000000
--- a/config/nvim/lua/plug/telescope.lua
+++ /dev/null
@@ -1,13 +0,0 @@
-local actions = require('telescope.actions')
-
-require('telescope').setup{
- defaults = {
- prompt_prefix = "Search > ",
- selection_caret = " ",
- entry_prefix = " ",
- file_ignore_patterns = {"node_modules", "env", ".cache"},
- mappings = {
- i = {[""] = actions.close}
- };
- };
-}
diff --git a/config/nvim/lua/plug/treesitter.lua b/config/nvim/lua/plug/treesitter.lua
deleted file mode 100644
index b3ac070..0000000
--- a/config/nvim/lua/plug/treesitter.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-require'nvim-treesitter.configs'.setup {
- ensure_installed = {'javascript', 'typescript', 'python', 'go'};
- highlight = { enable = true };
- indent = { enable = true };
-}
diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua
deleted file mode 100644
index 4461e4f..0000000
--- a/config/nvim/lua/plugins.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-require'plug.compe'
-require'plug.lspconfig'
-require'plug.nvimtree'
-require'plug.lualine'
-require'plug.gitsigns'
-require'plug.neogit'
-require'plug.treesitter'
-require'plug.telescope'
-require'plug.colorizer'
diff --git a/config/nvim/vimscript/barbar.vim b/config/nvim/vimscript/barbar.vim
index 46cb730..88a4be8 100644
--- a/config/nvim/vimscript/barbar.vim
+++ b/config/nvim/vimscript/barbar.vim
@@ -1,6 +1,7 @@
" Settings
let bufferline = get(g:, 'bufferline', {})
let bufferline.icon_close_tab = '🗴'
+let bufferline.icons = v:false
" Mappings
nno :BufferGoto 1
diff --git a/config/nvim/vimscript/compe.vim b/config/nvim/vimscript/compe.vim
deleted file mode 100644
index 4ff4da2..0000000
--- a/config/nvim/vimscript/compe.vim
+++ /dev/null
@@ -1,11 +0,0 @@
-" Settings
-set completeopt=menuone,noselect
-
-" Mappings
-ino pumvisible() ? "\" : "\"
-ino pumvisible() ? "\" : "\"
-ino compe#confirm('')
-nno sr :lua vim.lsp.buf.rename()
-nno sh :lua vim.lsp.buf.hover()
-nno si :lua vim.lsp.buf.definition()
-nno sa :lua vim.lsp.buf.code_action()
diff --git a/config/nvim/vimscript/config.vim b/config/nvim/vimscript/config.vim
deleted file mode 100644
index 498c21d..0000000
--- a/config/nvim/vimscript/config.vim
+++ /dev/null
@@ -1,23 +0,0 @@
-"== Vim config
-set termguicolors " GUI colors
-set nu rnu nocul " Line numbers & cursor line highlight
-set nolbr nowrap " Line wrap
-set mouse=a mh " Mouse
-set history=500 " Set history size
-set autoread " Auto read file on change
-set hidden " Change buffet without warning
-set visualbell t_vb= " Disable sounds
-set pumheight=8 " Maximum items in pop up
-set modeline " Enable modeline
-set nosmd " Disable show mode
-set nobk noswf noudf " Swap files
-set is ic scs " Search
-set spr " Split
-set enc=utf-8 fenc=utf-8 " Encoding
-set scrolloff=3
-set list listchars=tab:\|·,trail:~,space:·
-
-"== Netrw file tree
-let g:netrw_liststyle = 3
-let g:netrw_banner = 0
-let g:netrw_dirhistmax = 0
diff --git a/config/nvim/vimscript/emmet.vim b/config/nvim/vimscript/emmet.vim
deleted file mode 100644
index c0cd434..0000000
--- a/config/nvim/vimscript/emmet.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-"== Config
-let g:user_emmet_mode = "i"
-let g:user_emmet_expandabbr_key =''
-let g:user_emmet_leader = ","
-let g:user_emmet_settings = {
-\ 'javascript': {'extends': 'jsx'}}
-
-"== Load
-au FileType html,jst,pug,vue,css,less,scss :EmmetInstall
diff --git a/config/nvim/vimscript/filetypes.vim b/config/nvim/vimscript/filetypes.vim
deleted file mode 100644
index 84c0df0..0000000
--- a/config/nvim/vimscript/filetypes.vim
+++ /dev/null
@@ -1,3 +0,0 @@
-au FileType python,elm setl sw=4 ts=4 sts=2
-au FileType go setl noet sw=4 ts=4 sts=2
-au FileType javascript,html,jst,pug,css,less,scss,json,yaml,lua,vim setl sw=2 ts=2 sts=2
diff --git a/config/nvim/vimscript/mappings.vim b/config/nvim/vimscript/mappings.vim
index fa7815f..b922443 100644
--- a/config/nvim/vimscript/mappings.vim
+++ b/config/nvim/vimscript/mappings.vim
@@ -1,15 +1,28 @@
nno :w
+nno :GFiles
nno :noh
nno t :Term
nno e :NvimTreeToggle
-nno ; :Telescope fd
-nno : :Telescope git_files
-nno g :Neogit
+nno ; :Files
+nno d :Neogit
" Buffer
nno j :bn
nno k :bp
+" Compe
+ino pumvisible() ? "\" : "\"
+ino pumvisible() ? "\" : "\"
+ino compe#confirm('')
+ino compe#complete()
+nno sr :lua vim.lsp.buf.rename()
+nno sh :lua vim.lsp.buf.hover()
+nno sd :lua vim.lsp.buf.definition()
+nno sa :lua vim.lsp.buf.code_action()
+nno si :lua vim.lsp.buf.implementation()
+nno sf :lua vim.lsp.buf.formatting()
+nno sR :lua vim.lsp.buf.references()
+
" Split
nno :winc h
nno :winc j
diff --git a/vscode/settings.json b/vscode/settings.json
index 58b1e0c..5839cbc 100644
--- a/vscode/settings.json
+++ b/vscode/settings.json
@@ -46,9 +46,10 @@
"**/node_modules": true
},
- "emmet.includeLanguages": {"javascript": "javascriptreact"},
+ "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
+
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
- "editor.tabSize": 2,
+ "editor.tabSize": 2
}
}
diff --git a/zshrc b/zshrc
index ff05090..5db1783 100644
--- a/zshrc
+++ b/zshrc
@@ -6,15 +6,14 @@ export GOPATH="$HOME/go"
export PATH="$HOME/bin:$HOME/.local/bin:$HOME/.golang/bin:$GOPATH/bin:$PATH"
export EDITOR="nvim"
+## FzF
+export FZF_DEFAULT_COMMAND="fd -t f -t l -E node_modules -E env -E __pycache__"
+
## Oh my zsh
plugins=(dotenv)
ZSH_THEME="simple"
source "$HOME/.oh-my-zsh/oh-my-zsh.sh"
-## HotKets
-bindkey -s "^o" "ranger\n"
-bindkey -s "^g" "lazygit\n"
-
## FNM
eval $(fnm env)