Compare commits
No commits in common. "16f1e00291359afbe06b29302aa4195acaba949b" and "main" have entirely different histories.
16f1e00291
...
main
15 changed files with 2953 additions and 312 deletions
21
README.md
21
README.md
|
@ -1,24 +1,17 @@
|
||||||
NeoVim Setup files
|
NeoVim Setup files
|
||||||
===============
|
===============
|
||||||
|
|
||||||
This is mys neovim configuration with lua and paq plugins manager
|
This is my NeoVim setup with Vim-Plug and plugins :
|
||||||
|
|
||||||
|
* Base16 themes
|
||||||
|
* Syntastic plugin
|
||||||
|
* NerdTree plugin
|
||||||
|
* Vim-Airline
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
This Nvim installation need somes dependencies:
|
|
||||||
|
|
||||||
* gcc (Tree-Sitter)
|
|
||||||
* g++ (Tree-Sitter)
|
|
||||||
* clang (Tree-sitter)
|
|
||||||
|
|
||||||
For install plugins, you need to execute neovim with arguments like below
|
|
||||||
|
|
||||||
```
|
|
||||||
nvim --headless -u NONE -c 'lua require("plugins").bootstrap_paq()'
|
|
||||||
```
|
|
||||||
|
|
||||||
This repository is installable with [dotinstall][l_dotinstall] :
|
This repository is installable with [dotinstall][l_dotinstall] :
|
||||||
|
|
||||||
```
|
```
|
||||||
dotinstall https://git.epha.se/ephase/dotinstall.git
|
dotinstall https://git.epha.se/ephase/vim.git
|
||||||
```
|
```
|
||||||
|
|
2797
conf/nvim/autoload/plug.vim
Normal file
2797
conf/nvim/autoload/plug.vim
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,5 +0,0 @@
|
||||||
require("functions")
|
|
||||||
require("plugins")
|
|
||||||
require("settings")
|
|
||||||
require("plugins-options")
|
|
||||||
require("keybiding")
|
|
149
conf/nvim/init.vim
Normal file
149
conf/nvim/init.vim
Normal file
|
@ -0,0 +1,149 @@
|
||||||
|
set nocompatible
|
||||||
|
|
||||||
|
"Plug init
|
||||||
|
"
|
||||||
|
call plug#begin('~/.local/lib/nvim/plugged')
|
||||||
|
|
||||||
|
"vim airline and vim airline theme
|
||||||
|
Plug 'vim-airline/vim-airline'
|
||||||
|
"vim airline and vim airline theme
|
||||||
|
Plug 'vim-airline/vim-airline-themes'
|
||||||
|
|
||||||
|
if v:version >= 800
|
||||||
|
" Replace syntastic with ale (test)
|
||||||
|
Plug 'w0rp/ale'
|
||||||
|
endif
|
||||||
|
|
||||||
|
"Base16 theme
|
||||||
|
Plug 'chriskempson/base16-vim'
|
||||||
|
|
||||||
|
"NERDTree file manager
|
||||||
|
Plug 'scrooloose/nerdtree'
|
||||||
|
|
||||||
|
"Vim fugitive
|
||||||
|
Plug 'tpope/vim-fugitive'
|
||||||
|
Plug 'tpope/vim-surround'
|
||||||
|
Plug 'sheerun/vim-polyglot'
|
||||||
|
|
||||||
|
if has('nvim')
|
||||||
|
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
|
||||||
|
endif
|
||||||
|
Plug 'zchee/deoplete-jedi'
|
||||||
|
|
||||||
|
"Grammalecte
|
||||||
|
Plug 'dpelle/vim-Grammalecte', { 'on': 'GrammalecteCheck' }
|
||||||
|
|
||||||
|
call plug#end()
|
||||||
|
|
||||||
|
filetype plugin indent on
|
||||||
|
syntax enable
|
||||||
|
set title
|
||||||
|
set nu
|
||||||
|
set showmode
|
||||||
|
set noswapfile
|
||||||
|
set nofsync
|
||||||
|
set buftype=
|
||||||
|
set mouse=a
|
||||||
|
set encoding=utf8
|
||||||
|
set directory^=$HOME/.local/tmp/nvim
|
||||||
|
set backupdir^=$HOME/.local/tmp/nvim
|
||||||
|
set smartindent
|
||||||
|
set tabstop=4
|
||||||
|
set shiftwidth=4
|
||||||
|
set expandtab
|
||||||
|
set showmatch
|
||||||
|
set colorcolumn=80
|
||||||
|
set clipboard+=unnamedplus "Use system clipboard
|
||||||
|
|
||||||
|
"Code Fold
|
||||||
|
"---------
|
||||||
|
set foldmethod=indent
|
||||||
|
"Load and save view atomatocally (save and restore fold)
|
||||||
|
autocmd BufWinLeave *.* mkview
|
||||||
|
autocmd BufWinEnter *.* silent! loadview
|
||||||
|
|
||||||
|
"Searching
|
||||||
|
"---------
|
||||||
|
set incsearch " Ignore case when searching
|
||||||
|
set ignorecase
|
||||||
|
set smartcase " When searching try to be smart about cases
|
||||||
|
set hlsearch " hightlight search terms
|
||||||
|
set gdefault " Search all occurrences by default
|
||||||
|
|
||||||
|
" NerdTree
|
||||||
|
" --------
|
||||||
|
" Close NERDTree if it is the last buffer open
|
||||||
|
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
|
||||||
|
|
||||||
|
" ALE (test)
|
||||||
|
" ----------
|
||||||
|
let g:ale_sign_column_always = 1
|
||||||
|
let g:ale_sign_error = '⚠'
|
||||||
|
let g:ale_sign_warning = '⚠'
|
||||||
|
let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
|
||||||
|
|
||||||
|
" Vim-airLine
|
||||||
|
" -----------
|
||||||
|
|
||||||
|
let g:airline#extensions#tabline#enabled = 1
|
||||||
|
let g:airline#extensions#tabline#left_sep = ''
|
||||||
|
let g:airline#extensions#tabline#left_alt_sep = '|'
|
||||||
|
let g:airline_powerline_fonts = 1
|
||||||
|
let g:airline_skip_empty_sections = 1
|
||||||
|
"let g:airline#extensions#bufferline#enabled = 1
|
||||||
|
let g:airline#extensions#tabline#show_splits = 0
|
||||||
|
|
||||||
|
" Grammalecte
|
||||||
|
" -----------
|
||||||
|
|
||||||
|
let g:grammalecte_cli_py='/usr/bin/grammalecte-cli'
|
||||||
|
|
||||||
|
"set laststatus=2
|
||||||
|
|
||||||
|
set laststatus
|
||||||
|
" Deoplete
|
||||||
|
" --------
|
||||||
|
let g:deoplete#enable_at_startup = 1
|
||||||
|
" Deoplete tab order on popup to be down/up instead of up/down
|
||||||
|
inoremap <silent><expr><tab> pumvisible()? "\<c-n>" : "\<tab>"
|
||||||
|
inoremap <silent><expr><s-tab> pumvisible()? "\<c-p>" : "\<s-tab>"
|
||||||
|
|
||||||
|
" Color Scheme
|
||||||
|
" ------------
|
||||||
|
set termguicolors "24 bits color support
|
||||||
|
let base16colorspace=256
|
||||||
|
colorscheme base16-classic-dark
|
||||||
|
set background=dark
|
||||||
|
|
||||||
|
" Key biding
|
||||||
|
" ----------
|
||||||
|
map <silent> [C-left] :tabprevious<CR>
|
||||||
|
map <silent> [C-right] :tabnext<CR>
|
||||||
|
map <silent> <leader>/ :nohlsearch<CR>
|
||||||
|
map <silent> <F2> :NERDTreeToggle<CR>
|
||||||
|
" Move tabs with \[ and \]
|
||||||
|
map <Leader>] :tabnext<CR>
|
||||||
|
map <Leader>[ :tabprev<CR>
|
||||||
|
" show special character
|
||||||
|
set listchars=tab:→\ ,trail:␣,extends:…,eol:
|
||||||
|
nmap <leader>l :set list!<CR>
|
||||||
|
|
||||||
|
" Autotype
|
||||||
|
" --------
|
||||||
|
au BufRead,BufNewFile *.md setlocal textwidth=80
|
||||||
|
au BufRead,BufNewFile *.tex setlocal textwidth=80
|
||||||
|
autocmd BufNewFile,BufRead /tmp/neomutt* set tw=72 fo=awq comments+=nb:> noautoindent filetype=mail
|
||||||
|
|
||||||
|
" Enable enhanced command line completion.
|
||||||
|
set wildmenu
|
||||||
|
set wildmode=longest:full,list
|
||||||
|
|
||||||
|
" Ignore these filenames during enhanced command line completion.
|
||||||
|
set wildignore+=*.bak,*.class
|
||||||
|
set wildignore+=*.aux,*.out,*.toc " LaTeX intermediate files
|
||||||
|
set wildignore+=*.jpg,*.bmp,*.gif,*.png " binary images
|
||||||
|
set wildignore+=*.luac " Lua byte code
|
||||||
|
set wildignore+=*.o,*.obj,*.exe,*.dll,*.manifest " compiled object files
|
||||||
|
set wildignore+=*.pyc " Python byte code
|
||||||
|
set wildignore+=*.spl " compiled spelling word lists
|
||||||
|
set wildignore+=*.sw? " Vim swap files
|
|
@ -1,28 +0,0 @@
|
||||||
local PKGS = {
|
|
||||||
"savq/paq-nvim";
|
|
||||||
-- List your packages here!
|
|
||||||
}
|
|
||||||
local function clone_paq()
|
|
||||||
local path = vim.fn.stdpath('data') .. '/site/pack/paqs/start/paq-nvim'
|
|
||||||
if vim.fn.empty(vim.fn.glob(path)) > 0 then
|
|
||||||
vim.fn.system {
|
|
||||||
'git',
|
|
||||||
'clone',
|
|
||||||
'--depth=1',
|
|
||||||
'https://github.com/savq/paq-nvim.git',
|
|
||||||
path
|
|
||||||
}
|
|
||||||
end
|
|
||||||
end
|
|
||||||
local function bootstrap_paq()
|
|
||||||
clone_paq()
|
|
||||||
-- Load Paq
|
|
||||||
vim.cmd('packadd paq-nvim')
|
|
||||||
local paq = require('paq')
|
|
||||||
-- Exit nvim after installing plugins
|
|
||||||
vim.cmd('autocmd User PaqDoneInstall quit')
|
|
||||||
-- Read and install packages
|
|
||||||
paq(PKGS)
|
|
||||||
paq.install()
|
|
||||||
end
|
|
||||||
return { bootstrap_paq = bootstrap_paq }
|
|
|
@ -1,17 +0,0 @@
|
||||||
function map(key)
|
|
||||||
-- get the extra options
|
|
||||||
local opts = {noremap = true}
|
|
||||||
for i, v in pairs(key) do
|
|
||||||
if type(i) == 'string' then opts[i] = v end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- basic support for buffer-scoped keybindings
|
|
||||||
local buffer = opts.buffer
|
|
||||||
opts.buffer = nil
|
|
||||||
|
|
||||||
if buffer then
|
|
||||||
vim.api.nvim_buf_set_keymap(0, key[1], key[2], key[3], opts)
|
|
||||||
else
|
|
||||||
vim.api.nvim_set_keymap(key[1], key[2], key[3], opts)
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,24 +0,0 @@
|
||||||
-- " Key biding
|
|
||||||
-- " ----------
|
|
||||||
map {'n', '<leader>/', ':nohlsearch<CR>', noremap = false, silent = true}
|
|
||||||
map {'n', '<F2>', ':NERDTreeToggle<CR>', noremap = false, silent = true}
|
|
||||||
|
|
||||||
-- Move tabs with \[ and \]
|
|
||||||
map {'n', '<Leader>]', ':tabnext<CR>', noremap = false, silent = true}
|
|
||||||
map {'n', '<Leader>[', ':tabprev<CR>', noremap = false, silent = true}
|
|
||||||
map {'n', '<leader>l', ':set list!<CR>', silent = true}
|
|
||||||
|
|
||||||
-- Manage Tab
|
|
||||||
local t = function(str)
|
|
||||||
return vim.api.nvim_replace_termcodes(str, true, true, true)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- git sign
|
|
||||||
-- Actions
|
|
||||||
local opts = { noremap = true, silent = true}
|
|
||||||
--vim.api.nvim_set_keymap('n', '<leader>gp', require("gitsigns").preview_hunk, opts)
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>gn', [[<cmd>lua require('gitsigns').next_hunk()<CR>]], opts)
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>gN', [[<cmd>lua require('gitsigns').prev_hunk()<CR>]], opts)
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>gs', ':Gitsigns stage_hunk<CR>', opts)
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>gr', ':Gitsigns reset_hunk<CR>', opts)
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>gd', [[<cmd>lua require("gitsigns").diffthis('~')<CR>]], opts)
|
|
|
@ -1,13 +0,0 @@
|
||||||
-- Global variables
|
|
||||||
vim.g['base16colorspace'] = 256
|
|
||||||
|
|
||||||
-- NerdTree
|
|
||||||
-- Close NERDTree if it is the last buffer open
|
|
||||||
vim.cmd('au bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif')
|
|
||||||
|
|
||||||
require('plugins.treesitter')
|
|
||||||
require('plugins.lsp')
|
|
||||||
require('plugins.cmp')
|
|
||||||
require('plugins.gitsigns')
|
|
||||||
require('plugins.lualine')
|
|
||||||
require('plugins.nvimlint')
|
|
|
@ -1,30 +0,0 @@
|
||||||
-- Plugins
|
|
||||||
require "paq" {
|
|
||||||
"savq/paq-nvim";
|
|
||||||
|
|
||||||
-- status bar
|
|
||||||
'nvim-lualine/lualine.nvim';
|
|
||||||
|
|
||||||
-- Base16 theme
|
|
||||||
'RRethy/nvim-base16';
|
|
||||||
|
|
||||||
-- NERDTree file manager
|
|
||||||
'scrooloose/nerdtree';
|
|
||||||
'lewis6991/gitsigns.nvim';
|
|
||||||
|
|
||||||
|
|
||||||
-- need to install g++ package on Debian
|
|
||||||
-- for tree sitter plugins
|
|
||||||
'nvim-treesitter/nvim-treesitter';
|
|
||||||
|
|
||||||
-- LSP installer
|
|
||||||
'neovim/nvim-lspconfig';
|
|
||||||
'williamboman/nvim-lsp-installer';
|
|
||||||
|
|
||||||
-- autocompletion plugin
|
|
||||||
'hrsh7th/nvim-cmp';
|
|
||||||
'hrsh7th/cmp-nvim-lsp';
|
|
||||||
|
|
||||||
-- vim lint when it is not possible withlsp
|
|
||||||
'mfussenegger/nvim-lint';
|
|
||||||
}
|
|
|
@ -1,37 +0,0 @@
|
||||||
-- Add additional capabilities supported by nvim-cmp
|
|
||||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
|
||||||
capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities)
|
|
||||||
|
|
||||||
-- nvim-cmp setup
|
|
||||||
local cmp = require 'cmp'
|
|
||||||
cmp.setup {
|
|
||||||
mapping = {
|
|
||||||
['<C-p>'] = cmp.mapping.select_prev_item(),
|
|
||||||
['<C-n>'] = cmp.mapping.select_next_item(),
|
|
||||||
['<C-d>'] = cmp.mapping.scroll_docs(-4),
|
|
||||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
|
||||||
['<C-Space>'] = cmp.mapping.complete(),
|
|
||||||
['<C-e>'] = cmp.mapping.close(),
|
|
||||||
['<CR>'] = cmp.mapping.confirm {
|
|
||||||
behavior = cmp.ConfirmBehavior.Replace,
|
|
||||||
select = true,
|
|
||||||
},
|
|
||||||
['<Tab>'] = function(fallback)
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_next_item()
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
['<S-Tab>'] = function(fallback)
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_prev_item()
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
sources = {
|
|
||||||
{ name = 'nvim_lsp' },
|
|
||||||
},
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
require('gitsigns').setup {
|
|
||||||
keymaps = {}, -- NO default keybindings
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
local lspconfig = require('lspconfig')
|
|
||||||
|
|
||||||
-- lsp installet
|
|
||||||
--
|
|
||||||
local lsp_installer = require("nvim-lsp-installer")
|
|
||||||
|
|
||||||
-- Register a handler that will be called for each installed server when it's
|
|
||||||
-- ready (i.e. when installation is finished
|
|
||||||
-- or if the server is already installed).
|
|
||||||
lsp_installer.on_server_ready(function(server)
|
|
||||||
local opts = {}
|
|
||||||
|
|
||||||
-- (optional) Customize the options passed to the server
|
|
||||||
-- if server.name == "tsserver" then
|
|
||||||
-- opts.root_dir = function() ... end
|
|
||||||
-- end
|
|
||||||
|
|
||||||
-- This setup() function will take the provided server configuration and
|
|
||||||
-- decorate it with the necessary properties before passing it onwards to
|
|
||||||
-- lspconfig Refer to :
|
|
||||||
-- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
|
|
||||||
server:setup(opts)
|
|
||||||
end)
|
|
|
@ -1,29 +0,0 @@
|
||||||
require('lualine').setup {
|
|
||||||
options = {
|
|
||||||
icons_enabled = true,
|
|
||||||
theme = 'base16',
|
|
||||||
component_separators = { left = '|', right = '|'},
|
|
||||||
section_separators = { left = '', right = ''},
|
|
||||||
disabled_filetypes = {},
|
|
||||||
always_divide_middle = true,
|
|
||||||
globalstatus = false,
|
|
||||||
},
|
|
||||||
sections = {
|
|
||||||
lualine_a = {'mode'},
|
|
||||||
lualine_b = {'branch', 'diff', 'diagnostics'},
|
|
||||||
lualine_c = {'filename'},
|
|
||||||
lualine_x = {'encoding', 'fileformat', 'filetype'},
|
|
||||||
lualine_y = {'progress'},
|
|
||||||
lualine_z = {'location'}
|
|
||||||
},
|
|
||||||
inactive_sections = {
|
|
||||||
lualine_a = {},
|
|
||||||
lualine_b = {},
|
|
||||||
lualine_c = {'filename'},
|
|
||||||
lualine_x = {'location'},
|
|
||||||
lualine_y = {},
|
|
||||||
lualine_z = {}
|
|
||||||
},
|
|
||||||
tabline = {},
|
|
||||||
extensions = {}
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
-- Tree sitter
|
|
||||||
local ts = require 'nvim-treesitter.configs'
|
|
||||||
|
|
||||||
ts.setup {
|
|
||||||
ensure_installed = 'all',
|
|
||||||
sync_install = false,
|
|
||||||
ignore_install = { 'erlang' },
|
|
||||||
highlight = {
|
|
||||||
enable = true,
|
|
||||||
additional_vim_regex_highlighting = false,
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,77 +0,0 @@
|
||||||
-- General Option
|
|
||||||
vim.opt.autoindent = true
|
|
||||||
vim.opt.background = 'dark'
|
|
||||||
vim.opt.backupdir = os.getenv("HOME") .. '/.local/tmp/nvim'
|
|
||||||
vim.opt.clipboard = 'unnamedplus' --Use system clipboard
|
|
||||||
vim.opt.colorcolumn = '80'
|
|
||||||
vim.opt.directory = os.getenv("HOME") .. '/.local/tmp/nvim'
|
|
||||||
vim.opt.expandtab = true
|
|
||||||
vim.opt.foldmethod = 'syntax'
|
|
||||||
vim.opt.gdefault = true -- search: all occurrences by default
|
|
||||||
vim.opt.hlsearch = true -- search: hightlight terms
|
|
||||||
vim.opt.ignorecase = true
|
|
||||||
vim.opt.incsearch = true
|
|
||||||
vim.opt.laststatus = 1
|
|
||||||
-- show special character
|
|
||||||
vim.opt.listchars = {tab = '→ ', trail = '␣', eol = '', extends = '…' }
|
|
||||||
|
|
||||||
vim.opt.number = true
|
|
||||||
vim.opt.shiftwidth = 4
|
|
||||||
vim.opt.showmatch = true
|
|
||||||
vim.opt.smartcase = true -- search: try :to be smart about cases
|
|
||||||
vim.opt.smartindent = true
|
|
||||||
vim.opt.tabstop = 4
|
|
||||||
vim.opt.termguicolors = true -- 24 bits color support
|
|
||||||
vim.opt.wildmenu = true -- activate enhanced user menu
|
|
||||||
vim.opt.wildmode = 'lastused:full,list' -- enhance menu
|
|
||||||
|
|
||||||
-- Options than need vim.cmd
|
|
||||||
vim.cmd('syntax on')
|
|
||||||
vim.cmd('colorscheme base16-classic-dark')
|
|
||||||
|
|
||||||
-- -- Code Fold
|
|
||||||
-- "Load and save view atomatocally (save and restore fold)
|
|
||||||
vim.cmd('au BufWinLeave *.* mkview')
|
|
||||||
vim.cmd('au BufWinEnter *.* silent! loadview')
|
|
||||||
|
|
||||||
|
|
||||||
-- Diagnostic settings
|
|
||||||
--
|
|
||||||
-- diagnostic windows must be float
|
|
||||||
vim.diagnostic.config {
|
|
||||||
virtual_text = false,
|
|
||||||
signs = false,
|
|
||||||
underline = true,
|
|
||||||
}
|
|
||||||
|
|
||||||
-- You will likely want to reduce updatetime which affects CursorHold
|
|
||||||
-- note: this setting is global and should be set only once
|
|
||||||
vim.o.updatetime = 250
|
|
||||||
vim.cmd [[autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]]
|
|
||||||
|
|
||||||
-- Autotype
|
|
||||||
vim.cmd('au BufRead,BufNewFile *.md setlocal textwidth=80')
|
|
||||||
vim.cmd('au BufRead,BufNewFile *.tex setlocal textwidth=80')
|
|
||||||
vim.cmd('au BufNewFile,BufRead /tmp/neomutt* set tw=72 fo=awq comments+=nb:> noautoindent filetype=mail')
|
|
||||||
|
|
||||||
-- Ignore these filenames during enhanced command line completion.
|
|
||||||
vim.opt.wildignore = {
|
|
||||||
'*.bak',
|
|
||||||
'*.class',
|
|
||||||
'*.aux',
|
|
||||||
'*.out',
|
|
||||||
'*.toc',
|
|
||||||
'*.jpg',
|
|
||||||
'*.bmp',
|
|
||||||
'*.gif',
|
|
||||||
'*.png',
|
|
||||||
'*.luac',
|
|
||||||
'*.o',
|
|
||||||
'*.obj',
|
|
||||||
'*.exe',
|
|
||||||
'*.dll',
|
|
||||||
'*.manifest',
|
|
||||||
'*.pyc',
|
|
||||||
'*.spl',
|
|
||||||
'*.sw?'
|
|
||||||
}
|
|
Loading…
Add table
Add a link
Reference in a new issue