Compare commits
15 Commits
27
README.md
27
README.md
|
@ -1,3 +1,26 @@
|
||||||
# nvim
|
# NVIM by MIRZAEV
|
||||||
|
My settings, keymaps and plugins for NeoVim 😼<br>
|
||||||
|
<small><i>The installer only works with [fish](https://fishshell.com/) and [ubuntu](https://ubuntu.com/)</i></small>
|
||||||
|
|
||||||
My settings, keymaps and plugins for NeoVim
|
# Install
|
||||||
|
|
||||||
|
### Send these commands
|
||||||
|
1. `cd ~/.config`
|
||||||
|
2. `git clone https://git.svoboda.works/mirzaev/nvim`
|
||||||
|
3. `cd nvim`
|
||||||
|
4. `./install.sh -u`
|
||||||
|
|
||||||
|
### Open nvim and then
|
||||||
|
1. `:PackerSync`
|
||||||
|
2. `:PackerSync` (yeah, again)
|
||||||
|
3. `:TSInstall fish php html css javascript` (add your languages here)
|
||||||
|
4. `:COQdeps`
|
||||||
|
|
||||||
|
<small><b>Have fun!</b></small>
|
||||||
|
|
||||||
|
# Installer screenshots
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
# NVIM screenshots
|
||||||
|
later
|
Binary file not shown.
After ![]() (image error) Size: 11 KiB |
Binary file not shown.
After ![]() (image error) Size: 73 KiB |
9
init.lua
9
init.lua
|
@ -1,12 +1,15 @@
|
||||||
-- Настройки
|
-- Settings
|
||||||
require('settings/system')
|
require('settings/system')
|
||||||
require('settings/tabs')
|
require('settings/tabs')
|
||||||
require('settings/panels')
|
require('settings/panels')
|
||||||
require('settings/search')
|
require('settings/search')
|
||||||
|
|
||||||
-- Плагины
|
-- Plugins
|
||||||
require('plugins/packer')
|
require('plugins/packer')
|
||||||
|
|
||||||
-- Комбинации клавиш
|
-- Keymaps
|
||||||
require('keymaps/system')
|
require('keymaps/system')
|
||||||
require('keymaps/plugins')
|
require('keymaps/plugins')
|
||||||
|
|
||||||
|
-- Autocommands
|
||||||
|
require('autocommands')
|
||||||
|
|
386
install.sh
386
install.sh
|
@ -1,18 +1,30 @@
|
||||||
#!/usr/bin/env fish
|
#!/usr/bin/env fish
|
||||||
|
|
||||||
# need to rewrite in future
|
# Initializing the flags
|
||||||
sudo apt install npm python3-venv ruby-dev -y
|
set -l options (fish_opt -s v -l verbose)
|
||||||
pip3 install --upgrade pynvim
|
set options $options (fish_opt -s f -l force)
|
||||||
sudo gem install neovim
|
set options $options (fish_opt -s u -l update)
|
||||||
|
set options $options (fish_opt -s h -l help)
|
||||||
|
|
||||||
# Install NeoVim module for NPM
|
# Initializing settings
|
||||||
sudo npm i -g neovim
|
set NODEJS_VERSION 23
|
||||||
|
set NVIM_WIKI_INSTALLATION "https://github.com/neovim/neovim/wiki/Installing-Neovim/921fe8c40c34dd1f3fb35d5b48c484db1b8ae94b"
|
||||||
|
|
||||||
|
# Reading the flags
|
||||||
|
argparse $options -- $argv
|
||||||
|
|
||||||
|
# Initializing the buffer of output
|
||||||
|
set -l output (if set -q _flag_verbose; echo '/dev/tty'; else; echo '/dev/null'; end)
|
||||||
|
|
||||||
# Инициализация текста сообщений в зависимости от установленного языка в оболочке
|
# Инициализация текста сообщений в зависимости от установленного языка в оболочке
|
||||||
if test (string match -ri "ru" "$LANG")
|
if test (string match -ri "ru" "$LANG")
|
||||||
function print -a TYPE PARAM1 PARAM2 -d "Текст сообщений"
|
function print -a TYPE PARAM1 PARAM2 -d "Текст сообщений"
|
||||||
switch $TYPE
|
switch $TYPE
|
||||||
case PACKER_INSTALL
|
case HELP
|
||||||
|
set_color -b red yellow; echo -n "[mirzaev/nvim] "; set_color brcyan; echo -n "[ИНФОРМАЦИЯ] "; set_color -o white; echo "Формат: install.sh [флаги]"; echo; set_color normal; set_color yellow; echo -n " -u "; set_color cyan; echo -n "--update "; set_color -d white; echo "Обновить все зависимости"; set_color normal; set_color yellow; echo -n " -f "; set_color cyan; echo -n "--force "; set_color -d white; echo "Не просить подтверждения"; set_color normal; set_color yellow; echo -n " -v "; set_color cyan; echo -n "--verbose "; set_color -d white; echo "Подключить TTY к буферу вывода"; set_color normal; set_color yellow; echo -n " -h "; set_color cyan; echo -n "--help "; set_color -d white; echo "Прислать это сообщение"; echo; set_color normal; set_color white; echo -n "Этот установщик работает только для "; set_color yellow; echo -n "fish "; set_color white; echo -n "и "; set_color red; echo -n "ubuntu";
|
||||||
|
case NVIM_NOT_INSTALLED
|
||||||
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color red; echo -n "[ОШИБКА] "; set_color white; echo "NeoVim не установлен";
|
||||||
|
case PACKER_INSTALL
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Установить Packer? (\"wbthomason/packer.nvim\") (y/N) ";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Установить Packer? (\"wbthomason/packer.nvim\") (y/N) ";
|
||||||
case PACKER_EXISTS
|
case PACKER_EXISTS
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Packer уже установлен. Переустановить? (y/N) ";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Packer уже установлен. Переустановить? (y/N) ";
|
||||||
|
@ -50,23 +62,31 @@ if test (string match -ri "ru" "$LANG")
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Установить форматировщик Prettier? (\"prettier/vim-prettier\") (y/N) ";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Установить форматировщик Prettier? (\"prettier/vim-prettier\") (y/N) ";
|
||||||
case FORMATTER_PRETTIER_INSTALLED
|
case FORMATTER_PRETTIER_INSTALLED
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[РАБОТА] "; set_color white; echo "Установлен форматировщик Prettier (\"prettier/vim-prettier\")";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[РАБОТА] "; set_color white; echo "Установлен форматировщик Prettier (\"prettier/vim-prettier\")";
|
||||||
|
case PHP_DEBUG_ADAPTER_INSTALL
|
||||||
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Установить адаптер для отладки PHP? (\"xdebug/vscode-php-debug\") (y/N) ";
|
||||||
|
case PHP_DEBUG_ADAPTER_INSTALLED
|
||||||
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[РАБОТА] "; set_color white; echo "Установлен адаптер для отладки PHP (\"xdebug/vscode-php-debug\")";
|
||||||
case FONT_INSTALL
|
case FONT_INSTALL
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Установить шрифт "; set_color cyan; echo "FiraCode"; set_color white; echo " ? (y/N) ";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Установить шрифт "(set_color cyan)"FiraCode"(set_color white)"? (y/N) ";
|
||||||
case FONT_INSTALLED
|
case FONT_INSTALLED
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[РАБОТА] "; set_color white; echo "Установлен шрифт "; set_color cyan; echo "FiraCode"; set_color white; echo " (выбери его в настройках твоего эмулятора терминала)";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[РАБОТА] "; set_color white; echo "Установлен шрифт "(set_color cyan)"FiraCode"(set_color white)" (выбери его в настройках твоего эмулятора терминала)";
|
||||||
case FONTS
|
case FONTS
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color magenta; echo -n "[ДАННЫЕ] "; set_color white; echo "Шрифты для GNOME эмулятора терминала: https://www.nerdfonts.com/font-downloads (моя рекомендация - "; set_color cyan; echo "FiraCode"; set_color white; echo ")";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color magenta; echo -n "[ДАННЫЕ] "; set_color white; echo "Шрифты для GNOME эмулятора терминала: https://www.nerdfonts.com/font-downloads (моя рекомендация - "(set_color cyan)"FiraCode"(set_color white)")";
|
||||||
case FONT_PATCH
|
case FONT_PATCH
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Пропатчить шрифт для иконок ? (\"nvim-tree/nvim-web-devicons\") (y/N) ";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Пропатчить шрифт для иконок? (\"nvim-tree/nvim-web-devicons\") (y/N) ";
|
||||||
case FONT_CHOOSE
|
case FONT_CHOOSE
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Выбери шрифт (путь) ";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Путь до шрифта";
|
||||||
case FONT_PATCHED
|
case FONT_PATCHED
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[РАБОТА] "; set_color white; echo "Пропатчен шрифт для иконок (\"nvim-tree/nvim-web-devicons\")";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[РАБОТА] "; set_color white; echo "Пропатчен шрифт для иконок (\"nvim-tree/nvim-web-devicons\")";
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
function print -a TYPE PARAM1 PARAM2 -d "Messages text"
|
function print -a TYPE PARAM1 PARAM2 -d "Messages text"
|
||||||
switch $TYPE
|
switch $TYPE
|
||||||
|
case HELP
|
||||||
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color brcyan; echo -n "[INFORMATION] "; set_color -o white; echo "Format: install.sh [flags]"; echo; set_color normal; set_color yellow; echo -n " -u "; set_color cyan; echo -n "--update "; set_color -d white; echo "Update all dependencies"; set_color normal; set_color yellow; echo -n " -f "; set_color cyan; echo -n "--force "; set_color -d white; echo "Do not ask for confirmations"; set_color normal; set_color yellow; echo -n " -v "; set_color cyan; echo -n "--verbose "; set_color -d white; echo "Connect TTY to the output buffer"; set_color normal; set_color yellow; echo -n " -h "; set_color cyan; echo -n "--help "; set_color -d white; echo "Send this message"; set_color normal; set_color white; echo; echo -n "This installer only works with "; set_color yellow; echo -n "fish "; set_color white; echo -n "and "; set_color red; echo "ubuntu";
|
||||||
|
case NVIM_NOT_INSTALLED
|
||||||
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color red; echo -n "[ERROR] "; set_color white; echo "NeoVim is not installed";
|
||||||
case PACKER_INSTALL
|
case PACKER_INSTALL
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Install Packer? (\"wbthomason/packer.nvim\") (y/N) ";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Install Packer? (\"wbthomason/packer.nvim\") (y/N) ";
|
||||||
case PACKER_EXISTS
|
case PACKER_EXISTS
|
||||||
|
@ -88,11 +108,11 @@ else
|
||||||
case LSP_CSSMODULES_INSTALL
|
case LSP_CSSMODULES_INSTALL
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Install the LSP-server for CSS (formatter)? (\"antonk52/cssmodules-language-server\") (y/N) ";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Install the LSP-server for CSS (formatter)? (\"antonk52/cssmodules-language-server\") (y/N) ";
|
||||||
case LSP_CSSMODULES_INSTALLED
|
case LSP_CSSMODULES_INSTALLED
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[WORK] "; set_color white; echo "Install the LSP-server for CSS (formatter) (\"antonk52/cssmodules-language-server\")";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[WORK] "; set_color white; echo "Installed the LSP-server for CSS (formatter) (\"antonk52/cssmodules-language-server\")";
|
||||||
case LSP_DENO_INSTALL
|
case LSP_DENO_INSTALL
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Install the LSP-server for JavaScript и PostScript? (\"denoland/deno\") (y/N) ";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Install the LSP-server for JavaScript and PostScript? (\"denoland/deno\") (y/N) ";
|
||||||
case LSP_DENO_INSTALLED
|
case LSP_DENO_INSTALLED
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[WORK] "; set_color white; echo "Installed the LSP-server for JavaScript и PostScript (\"denoland/deno\")";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[WORK] "; set_color white; echo "Installed the LSP-server for JavaScript and PostScript (\"denoland/deno\")";
|
||||||
case LSP_LUA_INSTALL
|
case LSP_LUA_INSTALL
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Install the LSP-server for Lua? (\"luals/lua-language-server\") (y/N) ";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Install the LSP-server for Lua? (\"luals/lua-language-server\") (y/N) ";
|
||||||
case LSP_LUA_INSTALLED
|
case LSP_LUA_INSTALLED
|
||||||
|
@ -105,118 +125,193 @@ else
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Install the formatter Prettier? (\"prettier/vim-prettier\") (y/N) ";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Install the formatter Prettier? (\"prettier/vim-prettier\") (y/N) ";
|
||||||
case FORMATTER_PRETTIER_INSTALLED
|
case FORMATTER_PRETTIER_INSTALLED
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[WORK] "; set_color white; echo "Installed the formatter Prettier (\"prettier/vim-prettier\")";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[WORK] "; set_color white; echo "Installed the formatter Prettier (\"prettier/vim-prettier\")";
|
||||||
|
case PHP_DEBUG_ADAPTER_INSTALL
|
||||||
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Install the debug adapter for PHP? (\"xdebug/vscode-php-debug\") (y/N) ";
|
||||||
|
case PHP_DEBUG_ADAPTER_INSTALLED
|
||||||
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[WORK] "; set_color white; echo "Installed the debug-adapter for PHP (\"xdebug/vscode-php-debug\")";
|
||||||
case FONT_INSTALL
|
case FONT_INSTALL
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Install "; set_color cyan; echo "FiraCode"; set_color white; echo " font ? (y/N) ";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Install "(set_color cyan)"FiraCode"(set_color white)" font? (y/N) ";
|
||||||
case FONT_INSTALLED
|
case FONT_INSTALLED
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[WORK] "; set_color white; echo "Installed "; set_color cyan; echo "FiraCode"; set_color white; echo " font (select it in your terminal emulator settings)";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[WORK] "; set_color white; echo "Installed "(set_color cyan)"FiraCode"(set_color white)" font (select it in your terminal emulator settings)";
|
||||||
case FONTS
|
case FONTS
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color magenta; echo -n "[INFO] "; set_color white; echo "Fonts for GNOME terminal emulator: https://www.nerdfonts.com/font-downloads (my recommendation - "; set_color cyan; echo "FiraCode"; set_color white; echo ")";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color magenta; echo -n "[INFO] "; set_color white; echo "Fonts for GNOME terminal emulator: https://www.nerdfonts.com/font-downloads (my recommendation - "(set_color cyan)"FiraCode"(set_color white)") ";
|
||||||
case FONT_PATCH
|
case FONT_PATCH
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Patch your font for icons ? (\"nvim-tree/nvim-web-devicons\") (y/N) ";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Patch your font for icons? (\"nvim-tree/nvim-web-devicons\") (y/N) ";
|
||||||
case FONT_CHOOSE
|
case FONT_CHOOSE
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Choose a font (path)";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Path to the font";
|
||||||
case FONT_PATCHED
|
case FONT_PATCHED
|
||||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[WORK] "; set_color white; echo "Pathed the font for icons (\"nvim-tree/nvim-web-devicons\")";
|
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[WORK] "; set_color white; echo "Pathed the font for icons (\"nvim-tree/nvim-web-devicons\")";
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Installation request
|
if set -q _flag_help
|
||||||
set RESPONSE (read -n 1 -p "print PACKER_INSTALL")
|
# Sending the message
|
||||||
bind -e y
|
print HELP
|
||||||
|
|
||||||
if test (string match -ri 'y' "$RESPONSE")
|
# Exit (success)
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
|
if not type -q nvim
|
||||||
|
# Sending the message
|
||||||
|
print NVIM_NOT_INSTALLED
|
||||||
|
echo $NVIM_WIKI_INSTALLATION
|
||||||
|
|
||||||
|
# Exit (fail)
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
if set -q _flag_update
|
||||||
|
begin
|
||||||
|
# Downloading and installing fnm (for NodeJS)
|
||||||
|
curl -o- https://fnm.vercel.app/install | bash
|
||||||
|
|
||||||
|
# Initializing fnm
|
||||||
|
source /home/mirzaev/.config/fish/conf.d/fnm.fish
|
||||||
|
|
||||||
|
# Downloadind and installing Node.js:
|
||||||
|
fnm install $NODEJS_VERSION
|
||||||
|
|
||||||
|
# need to rewrite in future (бляяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя)
|
||||||
|
sudo apt install -y npm python3-venv python3-pip rubygems ruby-dev pkg-config
|
||||||
|
python3 -m ~/.local/bin/pip install --upgrade pip
|
||||||
|
fish_add_path ~/.local/bin
|
||||||
|
~/.local/bin/pip install --upgrade pynvim
|
||||||
|
sudo gem install neovim
|
||||||
|
|
||||||
|
# Install NeoVim module for NPM
|
||||||
|
npm i -g neovim
|
||||||
|
end &> $output
|
||||||
|
end
|
||||||
|
|
||||||
|
# Initializing the virtual environment for Python packages
|
||||||
|
python3 -m venv ~/.local --system-site-packages
|
||||||
|
|
||||||
|
if not set -q _flag_force
|
||||||
|
# Installation request
|
||||||
|
set RESPONSE (read -n 1 -p "print PACKER_INSTALL")
|
||||||
|
bind -e y
|
||||||
|
end
|
||||||
|
|
||||||
|
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE")
|
||||||
if test -d ~/.local/share/nvim/site/pack/packer/start/packer.nvim
|
if test -d ~/.local/share/nvim/site/pack/packer/start/packer.nvim
|
||||||
# Найден репозиторий "wbthomason/packer.nvim"
|
# Найден репозиторий "wbthomason/packer.nvim"
|
||||||
|
|
||||||
# Installation request
|
if not set -q _flag_force
|
||||||
set RESPONSE (read -n 1 -p "print PACKER_EXISTS")
|
# Installation request
|
||||||
bind -e y
|
set RESPONSE (read -n 1 -p "print PACKER_EXISTS")
|
||||||
|
bind -e y
|
||||||
|
end
|
||||||
|
|
||||||
if test (string match -ri 'y' "$RESPONSE")
|
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE")
|
||||||
# Запрошена переустановка
|
# Запрошена переустановка
|
||||||
|
|
||||||
# Деинициализация старого репозитория
|
begin
|
||||||
rm -rf ~/.local/share/nvim/site/pack/packer/start/packer.nvim 1> /dev/null 2> /dev/null
|
# Деинициализация старого репозитория
|
||||||
|
rm -rf ~/.local/share/nvim/site/pack/packer/start/packer.nvim
|
||||||
|
|
||||||
# Инициализация репозитория
|
# Инициализация репозитория
|
||||||
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
|
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
|
||||||
~/.local/share/nvim/site/pack/packer/start/packer.nvim 1> /dev/null 2> /dev/null
|
~/.local/share/nvim/site/pack/packer/start/packer.nvim
|
||||||
|
end &> $output
|
||||||
|
|
||||||
print PACKER_INSTALLED
|
print PACKER_INSTALLED
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
# Не найден репозиторий "wbthomason/packer.nvim"
|
# Не найден репозиторий "wbthomason/packer.nvim"
|
||||||
|
|
||||||
# Инициализация репозитория
|
begin
|
||||||
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
|
# Инициализация репозитория
|
||||||
~/.local/share/nvim/site/pack/packer/start/packer.nvim 1> /dev/null 2> /dev/null
|
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
|
||||||
|
~/.local/share/nvim/site/pack/packer/start/packer.nvim
|
||||||
|
end &> $output
|
||||||
|
|
||||||
print PACKER_INSTALLED
|
print PACKER_INSTALLED
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Installation request
|
if not set -q _flag_force
|
||||||
set RESPONSE (read -n 1 -p "print LSP_INTELEPHENSE_INSTALL")
|
# Installation request
|
||||||
bind -e y
|
set RESPONSE (read -n 1 -p "print LSP_INTELEPHENSE_INSTALL")
|
||||||
|
bind -e y
|
||||||
|
end
|
||||||
|
|
||||||
if test (string match -ri 'y' "$RESPONSE")
|
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE")
|
||||||
# Запрошена установка "bmewburn/vscode-intelephense"
|
# Запрошена установка "bmewburn/vscode-intelephense"
|
||||||
|
|
||||||
# Установка
|
begin
|
||||||
npm i intelephense 1> /dev/null 2> /dev/null
|
# Установка
|
||||||
|
npm i -g intelephense
|
||||||
|
end &> $output
|
||||||
|
|
||||||
print LSP_INTELEPHENSE_INSTALLED
|
print LSP_INTELEPHENSE_INSTALLED
|
||||||
end
|
end
|
||||||
|
|
||||||
# Installation request
|
if not set -q _flag_force
|
||||||
set RESPONSE (read -n 1 -p "print LSP_VSCODE-LANGSERVERS_INSTALL")
|
# Installation request
|
||||||
bind -e y
|
set RESPONSE (read -n 1 -p "print LSP_VSCODE-LANGSERVERS_INSTALL")
|
||||||
|
bind -e y
|
||||||
|
end
|
||||||
|
|
||||||
if test (string match -ri 'y' "$RESPONSE")
|
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE")
|
||||||
# Запрошена установка "hrsh7th/vscode-langservers-extracted"
|
# Запрошена установка "hrsh7th/vscode-langservers-extracted"
|
||||||
|
|
||||||
# Установка
|
begin
|
||||||
npm i vscode-langservers-extracted 1> /dev/null 2> /dev/null
|
# Установка
|
||||||
|
npm i -g vscode-langservers-extracted
|
||||||
|
end &> $output
|
||||||
|
|
||||||
print LSP_VSCODE-LANGSERVERS_INSTALLED
|
print LSP_VSCODE-LANGSERVERS_INSTALLED
|
||||||
end
|
end
|
||||||
|
|
||||||
# Installation request
|
if not set -q _flag_force
|
||||||
set RESPONSE (read -n 1 -p "print LSP_EMMET_INSTALL")
|
# Installation request
|
||||||
bind -e y
|
set RESPONSE (read -n 1 -p "print LSP_EMMET_INSTALL")
|
||||||
|
bind -e y
|
||||||
|
end
|
||||||
|
|
||||||
if test (string match -ri 'y' "$RESPONSE")
|
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE")
|
||||||
# Запрошена установка "aca/emmet-ls"
|
# Запрошена установка "aca/emmet-ls"
|
||||||
|
|
||||||
# Установка
|
begin
|
||||||
npm i emmet-ls 1> /dev/null 2> /dev/null
|
# Установка
|
||||||
|
npm i -g emmet-ls
|
||||||
|
end &> $output
|
||||||
|
|
||||||
print LSP_EMMET_INSTALLED
|
print LSP_EMMET_INSTALLED
|
||||||
end
|
end
|
||||||
|
|
||||||
# Installation request
|
if not set -q _flag_force
|
||||||
set RESPONSE (read -n 1 -p "print LSP_CSSMODULES_INSTALL")
|
# Installation request
|
||||||
bind -e y
|
set RESPONSE (read -n 1 -p "print LSP_CSSMODULES_INSTALL")
|
||||||
|
bind -e y
|
||||||
|
end
|
||||||
|
|
||||||
if test (string match -ri 'y' "$RESPONSE")
|
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE")
|
||||||
# Запрошена установка "antonk52/cssmodules-language-server"
|
# Запрошена установка "antonk52/cssmodules-language-server"
|
||||||
|
|
||||||
# Установка
|
begin
|
||||||
npm i cssmodules-language-server 1> /dev/null 2> /dev/null
|
# Установка
|
||||||
|
npm i -g cssmodules-language-server
|
||||||
|
end &> $output
|
||||||
|
|
||||||
print LSP_CSSMODULES_INSTALLED
|
print LSP_CSSMODULES_INSTALLED
|
||||||
end
|
end
|
||||||
|
|
||||||
# Installation request
|
if not set -q _flag_force
|
||||||
set RESPONSE (read -n 1 -p "print LSP_DENO_INSTALL")
|
# Installation request
|
||||||
bind -e y
|
set RESPONSE (read -n 1 -p "print LSP_DENO_INSTALL")
|
||||||
|
bind -e y
|
||||||
|
end
|
||||||
|
|
||||||
if test (string match -ri 'y' "$RESPONSE")
|
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE")
|
||||||
# Запрошена установка "denoland/deno"
|
# Запрошена установка "denoland/deno"
|
||||||
|
|
||||||
# Установка
|
begin
|
||||||
curl -fsSL https://deno.land/install.sh | sh 1> /dev/null 2> /dev/null
|
# Установка
|
||||||
|
curl -fsSL https://deno.land/install.sh | sh
|
||||||
|
end &> $output
|
||||||
|
|
||||||
# TODO доделать нормально
|
# TODO доделать нормально
|
||||||
set -g DENO_INSTALL "$HOME/.deno"
|
set -g DENO_INSTALL "$HOME/.deno"
|
||||||
|
@ -225,71 +320,110 @@ if test (string match -ri 'y' "$RESPONSE")
|
||||||
print LSP_DENO_INSTALLED
|
print LSP_DENO_INSTALLED
|
||||||
end
|
end
|
||||||
|
|
||||||
# Installation request
|
|
||||||
set RESPONSE (read -n 1 -p "print LSP_LUA_INSTALL")GG
|
|
||||||
bind -e y
|
|
||||||
|
|
||||||
if test (string match -ri 'y' "$RESPONSE")
|
if not set -q _flag_force
|
||||||
|
# Installation request
|
||||||
|
set RESPONSE (read -n 1 -p "print LSP_LUA_INSTALL")
|
||||||
|
bind -e y
|
||||||
|
end
|
||||||
|
|
||||||
|
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE")
|
||||||
# Запрошена установка "luals/lua-language-server"
|
# Запрошена установка "luals/lua-language-server"
|
||||||
|
|
||||||
# Установка
|
begin
|
||||||
sudo apt install ninja-build -y
|
# Установка
|
||||||
cd ~/
|
sudo apt install ninja-build -y
|
||||||
rm -rf lua-language-server 1> /dev/null 2> /dev/null
|
cd ~/
|
||||||
git clone https://github.com/LuaLS/lua-language-server 1> /dev/null 2> /dev/null
|
rm -rf lua-language-server
|
||||||
cd lua-language-server
|
git clone https://github.com/LuaLS/lua-language-server
|
||||||
fish ./make.sh 1> /dev/null 2> /dev/null
|
cd lua-language-server
|
||||||
fish_add_path $HOME/lua-language-server/bin 1> /dev/null 2> /dev/null
|
bash ./make.sh
|
||||||
|
fish_add_path $HOME/lua-language-server/bin
|
||||||
|
end &> $output
|
||||||
|
|
||||||
print LSP_LUA_INSTALLED
|
print LSP_LUA_INSTALLED
|
||||||
end
|
end
|
||||||
|
|
||||||
# Installation request
|
if not set -q _flag_force
|
||||||
set RESPONSE (read -n 1 -p "print FORMATTER_NGINX_INSTALL")
|
# Installation request
|
||||||
bind -e y
|
set RESPONSE (read -n 1 -p "print FORMATTER_NGINX_INSTALL")
|
||||||
|
bind -e y
|
||||||
|
end
|
||||||
|
|
||||||
if test (string match -ri 'y' "$RESPONSE")
|
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE")
|
||||||
# Запрошена установка "vasilevich/nginxbeautifier"
|
# Запрошена установка "vasilevich/nginxbeautifier"
|
||||||
|
|
||||||
# Установка
|
begin
|
||||||
npm i nginxbeautifier 1> /dev/null 2> /dev/null
|
# Установка
|
||||||
|
npm i -g nginxbeautifier
|
||||||
|
end &> $output
|
||||||
|
|
||||||
print FORMATTER_NGINX_INSTALLED
|
print FORMATTER_NGINX_INSTALLED
|
||||||
end
|
end
|
||||||
|
|
||||||
# Installation request
|
if not set -q _flag_force
|
||||||
set RESPONSE (read -n 1 -p "print FORMATTER_PRETTIER_INSTALL")
|
# Installation request
|
||||||
bind -e y
|
set RESPONSE (read -n 1 -p "print FORMATTER_PRETTIER_INSTALL")
|
||||||
|
bind -e y
|
||||||
|
end
|
||||||
|
|
||||||
if test (string match -ri 'y' "$RESPONSE")
|
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE")
|
||||||
# Accepted installation of "prettier/vim-prettier"
|
# Accepted installation of "prettier/vim-prettier"
|
||||||
|
|
||||||
npm i prettier 1> /dev/null 2> /dev/null
|
begin
|
||||||
G
|
npm i prettier
|
||||||
|
npm i -g prettier
|
||||||
|
end &> $output
|
||||||
|
|
||||||
print FORMATTER_PRETTIER_INSTALLED
|
print FORMATTER_PRETTIER_INSTALLED
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if not set -q _flag_force
|
||||||
|
# Installation request
|
||||||
|
set RESPONSE (read -n 1 -p "print PHP_DEBUG_ADAPTER_INSTALL")
|
||||||
|
bind -e y
|
||||||
|
end
|
||||||
|
|
||||||
|
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE")
|
||||||
|
# Accepted installation of "xdebug/vscode-php-debug"
|
||||||
|
|
||||||
|
begin
|
||||||
|
cd ~/
|
||||||
|
git clone https://github.com/xdebug/vscode-php-debug.git
|
||||||
|
cd vscode-php-debug
|
||||||
|
npm install && npm run build
|
||||||
|
end &> $output
|
||||||
|
|
||||||
|
print PHP_DEBUG_ADAPTER_INSTALLED
|
||||||
|
end
|
||||||
|
|
||||||
print FONTS
|
print FONTS
|
||||||
|
|
||||||
# Installation request
|
if not set -q _flag_force
|
||||||
set RESPONSE (read -n 1 -p "print FONT_INSTALL")
|
# Installation request
|
||||||
bind -e y
|
set RESPONSE (read -n 1 -p "print FONT_INSTALL")
|
||||||
if test (string match -ri 'y' "$RESPONSE")
|
bind -e y
|
||||||
|
end
|
||||||
|
|
||||||
|
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE")
|
||||||
# Accepted installation of the FiraCode font
|
# Accepted installation of the FiraCode font
|
||||||
|
|
||||||
mkdir -p ~/.local/share/fonts/FiraCode
|
begin
|
||||||
cd ~/.local/share/fonts/FiraCode
|
mkdir -p ~/.local/share/fonts/FiraCode
|
||||||
wget "https://github.com/ryanoasis/nerd-fonts/releases/download/v3.1.1/FiraCode.zip"
|
cd ~/.local/share/fonts/FiraCode
|
||||||
unzip FiraCode.zip
|
wget "https://github.com/ryanoasis/nerd-fonts/releases/download/v3.1.1/FiraCode.zip"
|
||||||
rm FiraCode.zip
|
unzip -o FiraCode.zip
|
||||||
fc-cache -f -v
|
rm FiraCode.zip
|
||||||
|
sudo apt install fontconfig
|
||||||
|
fc-cache -f -v
|
||||||
|
end &> $output
|
||||||
|
|
||||||
print FONT_INSTALLED
|
print FONT_INSTALLED
|
||||||
|
|
||||||
if (type -q dconf)
|
if type -q dconf
|
||||||
# GNOME
|
# GNOME
|
||||||
|
|
||||||
# if (string match (lsb_release -i | grep -Po '[^\s]*$') Ubuntu))
|
# if (set -q _flag_force or string match (lsb_release -i | grep -Po '[^\s]*$') Ubuntu))
|
||||||
# sudo apt-get install dconf
|
# sudo apt-get install dconf
|
||||||
# end
|
# end
|
||||||
end
|
end
|
||||||
|
@ -300,27 +434,37 @@ if test (string match -ri 'y' "$RESPONSE")
|
||||||
else
|
else
|
||||||
# Denied installation of the FiraCode font
|
# Denied installation of the FiraCode font
|
||||||
|
|
||||||
# Installation request
|
if not set -q _flag_force
|
||||||
set RESPONSE (read -n 1 -p "print FONT_PATCH")
|
# Installation request
|
||||||
bind -e y
|
set RESPONSE (read -n 1 -p "print FONT_PATCH")
|
||||||
|
bind -e y
|
||||||
|
end
|
||||||
|
|
||||||
if test (string match -ri 'y' "$RESPONSE")
|
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE")
|
||||||
# Accepted to patching the font
|
# Accepted to patching the font
|
||||||
|
|
||||||
cd ~/
|
begin
|
||||||
wget "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/FontPatcher.zip"
|
cd ~/
|
||||||
unzip FontPatcher.zip -d font_patcher
|
wget "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/FontPatcher.zip"
|
||||||
cd font_patcher
|
unzip -o FontPatcher.zip -d font_patcher
|
||||||
|
cd font_patcher
|
||||||
|
|
||||||
#if not type -q python && type -q python3
|
#if not type -q python && type -q python3
|
||||||
if not type -q python
|
if not type -q python
|
||||||
# alias python=python3
|
# alias python=python3
|
||||||
sudo apt install python-is-python3 -y
|
sudo apt install python-is-python3 -y
|
||||||
end
|
end
|
||||||
|
|
||||||
sudo apt install fontforge python3-fontforge -y
|
sudo apt install fontforge python3-fontforge -y
|
||||||
|
|
||||||
./font-patcher (read -p "print FONT_CHOOSE")
|
end &> $output
|
||||||
|
|
||||||
|
# Initializing path to the font
|
||||||
|
set FONT (read -p "print FONT_CHOOSE")
|
||||||
|
|
||||||
|
begin
|
||||||
|
./font-patcher $FONT
|
||||||
|
end &> $output
|
||||||
|
|
||||||
print FONT_PATCHED
|
print FONT_PATCHED
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
vim.api.nvim_create_autocmd({'BufEnter','BufAdd','BufNew','BufNewFile','BufWinEnter'}, {
|
||||||
|
group = vim.api.nvim_create_augroup('TS_FOLD_WORKAROUND', {}),
|
||||||
|
callback = function()
|
||||||
|
-- Folding code method
|
||||||
|
-- vim.opt.foldmethod = 'expr'
|
||||||
|
|
||||||
|
-- Expression for folding code
|
||||||
|
-- vim.opt.foldexpr = 'nvim_treesitter#foldexpr()'
|
||||||
|
end
|
||||||
|
})
|
|
@ -0,0 +1,2 @@
|
||||||
|
-- Quick compilation with GCC and running
|
||||||
|
vim.keymap.set('n', 'co', '<cmd>:!gcc -o test % && ./test', {noremap = true})
|
|
@ -1,10 +1,10 @@
|
||||||
--[[ nvim-neo-tree/neo-tree ]]
|
--[[ nvim-neo-tree/neo-tree ]]
|
||||||
-- Открыть интерфейс с древовидным отображением файлов
|
-- Открыть интерфейс с древовидным отображением файлов
|
||||||
vim.keymap.set({ 'n', 'i', 'v', 't' }, '<f1>', '<cmd>NeoTreeRevealToggle<cr>', { noremap = true })
|
vim.keymap.set({ 'n', 'i', 'v', 't' }, '<f1>', '<cmd>Neotree toggle<cr>', { noremap = true })
|
||||||
|
|
||||||
|
|
||||||
-- [[ folke/trouble.nvim ]]
|
-- [[ folke/trouble.nvim ]]
|
||||||
vim.keymap.set({ 'n', 'i', 'v', 't' }, '<f2>', '<cmd>TroubleToggle<cr>', { noremap = true })
|
vim.keymap.set({ 'n', 'i', 'v', 't' }, '<f2>', '<cmd>Trouble diagnostics toggle focus=false filter.buf=0<cr>', { noremap = true })
|
||||||
|
|
||||||
|
|
||||||
--[[ onsails/diaglist.nvim ]]
|
--[[ onsails/diaglist.nvim ]]
|
||||||
|
@ -30,6 +30,7 @@ vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, { noremap = true, sil
|
||||||
lspconfig_on_attach = function(client, bufnr)
|
lspconfig_on_attach = function(client, bufnr)
|
||||||
-- Активация завершения
|
-- Активация завершения
|
||||||
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||||
|
-- vim.keymap.set({ 'n', 'v', 't' }, 'F', function() vim.lsp.buf.format { async = true } end, { noremap = true, silent = true, buffer = bufnr })
|
||||||
|
|
||||||
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, { noremap = true, silent = true, buffer = bufnr })
|
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, { noremap = true, silent = true, buffer = bufnr })
|
||||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { noremap = true, silent = true, buffer = bufnr })
|
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { noremap = true, silent = true, buffer = bufnr })
|
||||||
|
@ -54,19 +55,18 @@ vim.keymap.set({ 'n', 'v', 't' }, 'F', function()
|
||||||
vim.api.nvim_exec('w', false)
|
vim.api.nvim_exec('w', false)
|
||||||
vim.api.nvim_exec('! nginxbeautifier -i %', false)
|
vim.api.nvim_exec('! nginxbeautifier -i %', false)
|
||||||
vim.api.nvim_exec('redraw', false)
|
vim.api.nvim_exec('redraw', false)
|
||||||
elseif (vim.lsp.buf.server_ready()) then
|
elseif (not (vim.diff(vim.inspect(vim.lsp.buf_get_clients()), '{}') == '')) then
|
||||||
-- LSP-server is ready
|
-- LSP-server clients is ready
|
||||||
|
|
||||||
vim.lsp.buf.format { async = true }
|
vim.lsp.buf.format { async = true }
|
||||||
else
|
else
|
||||||
-- LSP-server not found
|
-- LSP-server clients not found
|
||||||
|
|
||||||
vim.api.nvim_exec('PrettierAsync', false)
|
vim.api.nvim_exec('PrettierAsync', false)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
{ noremap = true, silent = true, buffer = bufnr })
|
{ noremap = true, silent = true, buffer = bufnr })
|
||||||
|
|
||||||
|
|
||||||
--[[ lewis6991/gitsigns.nvim ]]
|
--[[ lewis6991/gitsigns.nvim ]]
|
||||||
-- Инициализация только после того, как LSP-сервер подключится к текущему буферу
|
-- Инициализация только после того, как LSP-сервер подключится к текущему буферу
|
||||||
gitsigns_on_attach = function(bufnr)
|
gitsigns_on_attach = function(bufnr)
|
||||||
|
@ -123,6 +123,32 @@ vim.keymap.set('n', '<leader>fb', builtin.buffers, { noremap = true, silent = tr
|
||||||
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { noremap = true, silent = true })
|
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { noremap = true, silent = true })
|
||||||
|
|
||||||
|
|
||||||
|
--[[ mfussenegger/nvim-dap ]]
|
||||||
|
vim.keymap.set('n', '<F5>', function() require('dap').continue() end)
|
||||||
|
vim.keymap.set('n', '<F10>', function() require('dap').step_over() end)
|
||||||
|
vim.keymap.set('n', '<F11>', function() require('dap').step_into() end)
|
||||||
|
vim.keymap.set('n', '<F12>', function() require('dap').step_out() end)
|
||||||
|
vim.keymap.set('n', '<Leader>b', function() require('dap').toggle_breakpoint() end)
|
||||||
|
vim.keymap.set('n', '<Leader>B', function() require('dap').set_breakpoint() end)
|
||||||
|
vim.keymap.set('n', '<Leader>lp', function() require('dap').set_breakpoint(nil, nil, vim.fn.input('Log point message: ')) end)
|
||||||
|
vim.keymap.set('n', '<Leader>dr', function() require('dap').repl.open() end)
|
||||||
|
vim.keymap.set('n', '<Leader>dl', function() require('dap').run_last() end)
|
||||||
|
vim.keymap.set({'n', 'v'}, '<Leader>dh', function()
|
||||||
|
require('dap.ui.widgets').hover()
|
||||||
|
end)
|
||||||
|
vim.keymap.set({'n', 'v'}, '<Leader>dp', function()
|
||||||
|
require('dap.ui.widgets').preview()
|
||||||
|
end)
|
||||||
|
vim.keymap.set('n', '<Leader>df', function()
|
||||||
|
local widgets = require('dap.ui.widgets')
|
||||||
|
widgets.centered_float(widgets.frames)
|
||||||
|
end)
|
||||||
|
vim.keymap.set('n', '<Leader>ds', function()
|
||||||
|
local widgets = require('dap.ui.widgets')
|
||||||
|
widgets.centered_float(widgets.scopes)
|
||||||
|
end)
|
||||||
|
|
||||||
|
|
||||||
--[[ windwp/nvim-autopairs ]]
|
--[[ windwp/nvim-autopairs ]]
|
||||||
-- Переназначение стандартных сочетаний клавиш для "ms-jpq/coq_nvim"
|
-- Переназначение стандартных сочетаний клавиш для "ms-jpq/coq_nvim"
|
||||||
--vim.keymap.set('i', '<esc>', [[pumvisible() ? "<c-e><esc>" : "<esc>"]], {expr = true, noremap = true})
|
--vim.keymap.set('i', '<esc>', [[pumvisible() ? "<c-e><esc>" : "<esc>"]], {expr = true, noremap = true})
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
require("nvim-dap-virtual-text").setup {
|
||||||
|
enabled = true, -- enable this plugin (the default)
|
||||||
|
enabled_commands = true, -- create commands DapVirtualTextEnable, DapVirtualTextDisable, DapVirtualTextToggle, (DapVirtualTextForceRefresh for refreshing when debug adapter did not notify its termination)
|
||||||
|
highlight_changed_variables = true, -- highlight changed values with NvimDapVirtualTextChanged, else always NvimDapVirtualText
|
||||||
|
highlight_new_as_changed = false, -- highlight new variables in the same way as changed variables (if highlight_changed_variables)
|
||||||
|
show_stop_reason = true, -- show stop reason when stopped for exceptions
|
||||||
|
commented = false, -- prefix virtual text with comment string
|
||||||
|
only_first_definition = true, -- only show virtual text at first definition (if there are multiple)
|
||||||
|
all_references = false, -- show virtual text on all all references of the variable (not only definitions)
|
||||||
|
clear_on_continue = false, -- clear virtual text on "continue" (might cause flickering when stepping)
|
||||||
|
|
||||||
|
--- A callback that determines how a variable is displayed or whether it should be omitted
|
||||||
|
--- @param variable Variable https://microsoft.github.io/debug-adapter-protocol/specification#Types_Variable
|
||||||
|
--- @param buf number
|
||||||
|
--- @param stackframe dap.StackFrame https://microsoft.github.io/debug-adapter-protocol/specification#Types_StackFrame
|
||||||
|
--- @param node userdata tree-sitter node identified as variable definition of reference (see `:h tsnode`)
|
||||||
|
--- @param options nvim_dap_virtual_text_options Current options for nvim-dap-virtual-text
|
||||||
|
--- @return string|nil A text how the virtual text should be displayed or nil, if this variable shouldn't be displayed
|
||||||
|
display_callback = function(variable, buf, stackframe, node, options)
|
||||||
|
|
||||||
|
-- by default, strip out new line characters
|
||||||
|
if options.virt_text_pos == 'inline' then
|
||||||
|
return ' = ' .. variable.value:gsub("%s+", " ")
|
||||||
|
else
|
||||||
|
return variable.name .. ' = ' .. variable.value:gsub("%s+", " ")
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
|
||||||
|
-- position of virtual text, see `:h nvim_buf_set_extmark()`, default tries to inline the virtual text. Use 'eol' to set to end of line
|
||||||
|
virt_text_pos = vim.fn.has 'nvim-0.10' == 1 and 'inline' or 'eol',
|
||||||
|
|
||||||
|
-- experimental features:
|
||||||
|
all_frames = false, -- show virtual text for all stack frames not only current. Only works for debugpy on my machine.
|
||||||
|
virt_lines = false, -- show virtual lines instead of virtual text (will flicker!)
|
||||||
|
virt_text_win_col = nil -- position the virtual text at a fixed window column (starting from the first text column) ,
|
||||||
|
-- e.g. 80 to position at column 80, see `:h nvim_buf_set_extmark()`
|
||||||
|
}
|
|
@ -1,2 +1,23 @@
|
||||||
require('dap').configurations.cpp = {
|
-- Initialization
|
||||||
|
local dap = require('dap')
|
||||||
|
|
||||||
|
-- Installing C, Rust and C++
|
||||||
|
dap.configurations.cpp = {
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Initializing PHP adapter
|
||||||
|
dap.adapters.php = {
|
||||||
|
type = "executable",
|
||||||
|
command = "node",
|
||||||
|
args = { os.getenv("HOME") .. "/vscode-php-debug/out/phpDebug.js" }
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Installing PHP
|
||||||
|
dap.configurations.php = {
|
||||||
|
{
|
||||||
|
type = "php",
|
||||||
|
request = "launch",
|
||||||
|
name = "Listen for Xdebug",
|
||||||
|
port = 9003
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
require('dapui').setup()
|
||||||
|
|
||||||
|
local dap, dapui = require("dap"), require("dapui")
|
||||||
|
|
||||||
|
dap.listeners.before.attach.dapui_config = function()
|
||||||
|
dapui.open()
|
||||||
|
end
|
||||||
|
|
||||||
|
dap.listeners.before.launch.dapui_config = function()
|
||||||
|
dapui.open()
|
||||||
|
end
|
||||||
|
|
||||||
|
dap.listeners.before.event_terminated.dapui_config = function()
|
||||||
|
dapui.close()
|
||||||
|
end
|
||||||
|
|
||||||
|
dap.listeners.before.event_exited.dapui_config = function()
|
||||||
|
dapui.close()
|
||||||
|
end
|
|
@ -0,0 +1,77 @@
|
||||||
|
-- Initializing
|
||||||
|
local flexoki = require('flexoki')
|
||||||
|
|
||||||
|
-- Installing
|
||||||
|
flexoki.setup({
|
||||||
|
variant = "auto", -- auto, moon, or dawn
|
||||||
|
dim_inactive_windows = false,
|
||||||
|
extend_background_behind_borders = true,
|
||||||
|
|
||||||
|
enable = {
|
||||||
|
terminal = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
styles = {
|
||||||
|
bold = true,
|
||||||
|
italic = false,
|
||||||
|
},
|
||||||
|
|
||||||
|
groups = {
|
||||||
|
border = "muted",
|
||||||
|
link = "purple_two",
|
||||||
|
panel = "surface",
|
||||||
|
|
||||||
|
error = "red_one",
|
||||||
|
hint = "purple_one",
|
||||||
|
info = "cyan_one",
|
||||||
|
ok = "green_one",
|
||||||
|
warn = "orange_one",
|
||||||
|
note = "blue_one",
|
||||||
|
todo = "magenta_one",
|
||||||
|
|
||||||
|
git_add = "green_one",
|
||||||
|
git_change = "yellow_one",
|
||||||
|
git_delete = "red_one",
|
||||||
|
git_dirty = "yellow_one",
|
||||||
|
git_ignore = "muted",
|
||||||
|
git_merge = "purple_one",
|
||||||
|
git_rename = "blue_one",
|
||||||
|
git_stage = "purple_one",
|
||||||
|
git_text = "magenta_one",
|
||||||
|
git_untracked = "subtle",
|
||||||
|
|
||||||
|
h1 = "purple_two",
|
||||||
|
h2 = "cyan_two",
|
||||||
|
h3 = "magenta_two",
|
||||||
|
h4 = "orange_two",
|
||||||
|
h5 = "blue_two",
|
||||||
|
h6 = "cyan_two",
|
||||||
|
},
|
||||||
|
|
||||||
|
palette = {
|
||||||
|
-- Override the builtin palette per variant
|
||||||
|
-- moon = {
|
||||||
|
-- base = '#100f0f',
|
||||||
|
-- overlay = '#1c1b1a',
|
||||||
|
-- },
|
||||||
|
},
|
||||||
|
|
||||||
|
highlight_groups = {
|
||||||
|
-- Comment = { fg = "subtle" },
|
||||||
|
-- VertSplit = { fg = "muted", bg = "muted" },
|
||||||
|
},
|
||||||
|
|
||||||
|
before_highlight = function(group, highlight, palette)
|
||||||
|
-- Disable all undercurls
|
||||||
|
-- if highlight.undercurl then
|
||||||
|
-- highlight.undercurl = false
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- Change palette colour
|
||||||
|
-- if highlight.fg == palette.blue_two then
|
||||||
|
-- highlight.fg = palette.cyan_two
|
||||||
|
-- end
|
||||||
|
end,})
|
||||||
|
|
||||||
|
-- Activating
|
||||||
|
vim.cmd("colorscheme flexoki-moon")
|
|
@ -10,11 +10,12 @@ require('lualine').setup {
|
||||||
},
|
},
|
||||||
ignore_focus = {},
|
ignore_focus = {},
|
||||||
always_divide_middle = true,
|
always_divide_middle = true,
|
||||||
|
always_show_tabline = true,
|
||||||
globalstatus = false,
|
globalstatus = false,
|
||||||
refresh = {
|
refresh = {
|
||||||
statusline = 1000,
|
statusline = 100,
|
||||||
tabline = 1000,
|
tabline = 100,
|
||||||
winbar = 1000,
|
winbar = 100,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
sections = {
|
sections = {
|
||||||
|
@ -67,5 +68,5 @@ require('lualine').setup {
|
||||||
tabline = {},
|
tabline = {},
|
||||||
winbar = {},
|
winbar = {},
|
||||||
inactive_winbar = {},
|
inactive_winbar = {},
|
||||||
extensions = {}
|
extensions = {'nvim-dap-ui', 'trouble', 'neo-tree'}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,12 @@ return require('packer').startup(function(use)
|
||||||
-- Менеджер плагинов Packer (автообновление)
|
-- Менеджер плагинов Packer (автообновление)
|
||||||
use 'wbthomason/packer.nvim'
|
use 'wbthomason/packer.nvim'
|
||||||
|
|
||||||
|
-- Flexoki colorscheme
|
||||||
|
use {
|
||||||
|
'nuvic/flexoki-nvim',
|
||||||
|
config = function() require('plugins/flexoki') end
|
||||||
|
}
|
||||||
|
|
||||||
-- Быстрая настройка LSP-серверов
|
-- Быстрая настройка LSP-серверов
|
||||||
use {
|
use {
|
||||||
'neovim/nvim-lspconfig',
|
'neovim/nvim-lspconfig',
|
||||||
|
@ -71,7 +77,7 @@ return require('packer').startup(function(use)
|
||||||
-- Интерфейс строки буфера файлов
|
-- Интерфейс строки буфера файлов
|
||||||
use {
|
use {
|
||||||
'akinsho/bufferline.nvim',
|
'akinsho/bufferline.nvim',
|
||||||
tag = "v3.*",
|
-- tag = "v3.*",
|
||||||
requires = 'nvim-tree/nvim-web-devicons',
|
requires = 'nvim-tree/nvim-web-devicons',
|
||||||
config = function() require('plugins/bufferline') end
|
config = function() require('plugins/bufferline') end
|
||||||
}
|
}
|
||||||
|
@ -79,7 +85,7 @@ return require('packer').startup(function(use)
|
||||||
-- Интерфейс древовидной структуры файлов
|
-- Интерфейс древовидной структуры файлов
|
||||||
use {
|
use {
|
||||||
'nvim-neo-tree/neo-tree.nvim',
|
'nvim-neo-tree/neo-tree.nvim',
|
||||||
branch = 'v2.x',
|
-- branch = 'v2.x',
|
||||||
requires = {
|
requires = {
|
||||||
'nvim-lua/plenary.nvim',
|
'nvim-lua/plenary.nvim',
|
||||||
'kyazdani42/nvim-web-devicons',
|
'kyazdani42/nvim-web-devicons',
|
||||||
|
@ -97,12 +103,6 @@ return require('packer').startup(function(use)
|
||||||
-- Цвета для отображения найденных ошибок LSP-сервером в случае если другие цвета не найдены
|
-- Цвета для отображения найденных ошибок LSP-сервером в случае если другие цвета не найдены
|
||||||
use 'folke/lsp-colors.nvim'
|
use 'folke/lsp-colors.nvim'
|
||||||
|
|
||||||
-- Клиентская реализация DAP
|
|
||||||
use {
|
|
||||||
'mfussenegger/nvim-dap',
|
|
||||||
config = function() require('plugins/dap') end
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Автозавершение
|
-- Автозавершение
|
||||||
use {
|
use {
|
||||||
'ms-jpq/coq_nvim',
|
'ms-jpq/coq_nvim',
|
||||||
|
@ -133,19 +133,28 @@ return require('packer').startup(function(use)
|
||||||
'vim-test/vim-test',
|
'vim-test/vim-test',
|
||||||
config = function() require('plugins/vim-test') end
|
config = function() require('plugins/vim-test') end
|
||||||
}
|
}
|
||||||
|
-- Functions for Telescope
|
||||||
|
use 'nvim-lua/plenary.nvim'
|
||||||
|
|
||||||
-- Интерфейс для поиска
|
-- DAP integration for Telescope
|
||||||
|
use 'nvim-telescope/telescope-dap.nvim'
|
||||||
|
|
||||||
|
-- Fuzzy finder over lists (find, filter, preview, pick)
|
||||||
use {
|
use {
|
||||||
'nvim-telescope/telescope.nvim',
|
'nvim-telescope/telescope.nvim',
|
||||||
tag = '0.1.1',
|
tag = '0.1.8',
|
||||||
|
requires = {'nvim-lua/plenary.nvim'},
|
||||||
config = function() require('plugins/telescope') end
|
config = function() require('plugins/telescope') end
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Интеграция treesitter
|
-- UI for Treesitter
|
||||||
use {
|
use {
|
||||||
'nvim-treesitter/nvim-treesitter',
|
'nvim-treesitter/nvim-treesitter',
|
||||||
run = ':TSUpdate',
|
config = function() require('plugins/treesitter') end,
|
||||||
config = function() require('plugins/treesitter') end
|
run = function()
|
||||||
|
local ts_update = require('nvim-treesitter.install').update({ with_sync = true })
|
||||||
|
ts_update()
|
||||||
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Удобное комментирование
|
-- Удобное комментирование
|
||||||
|
@ -180,7 +189,31 @@ return require('packer').startup(function(use)
|
||||||
|
|
||||||
-- Форматировщик Prettier
|
-- Форматировщик Prettier
|
||||||
use {
|
use {
|
||||||
'prettier/vim-prettier',
|
'prettier/vim-prettier',
|
||||||
run = 'yarn install --frozen-lockfile --production'
|
branch = 'master',
|
||||||
|
-- run = 'sudo npm i -g',
|
||||||
|
run = 'yarn install --frozen-lockfile --production'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- Debug Adapter Protocol client implementation --
|
||||||
|
use {
|
||||||
|
'mfussenegger/nvim-dap',
|
||||||
|
config = function() require('plugins/dap') end
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Asynchronous IO --
|
||||||
|
use 'nvim-neotest/nvim-nio'
|
||||||
|
|
||||||
|
-- UI for DAP client implementation --
|
||||||
|
use {
|
||||||
|
'rcarriga/nvim-dap-ui',
|
||||||
|
requires = {"mfussenegger/nvim-dap", "nvim-neotest/nvim-nio"},
|
||||||
|
config = function() require('plugins/dapui') end
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Virtual text support for DAP client implementation and Treesitter --
|
||||||
|
use {
|
||||||
|
'theHamsta/nvim-dap-virtual-text',
|
||||||
|
config = function() require('plugins/dap-text') end
|
||||||
|
}
|
||||||
end)
|
end)
|
||||||
|
|
|
@ -1,18 +1,27 @@
|
||||||
require('telescope').setup{
|
-- Initializing
|
||||||
|
local telescope = require('telescope');
|
||||||
|
|
||||||
|
-- Installing
|
||||||
|
telescope.setup {
|
||||||
pickers = {
|
pickers = {
|
||||||
-- Default configuration for builtin pickers goes here:
|
-- Default configuration for builtin picikers goes here:
|
||||||
-- picker_name = {
|
-- picker_name = {
|
||||||
-- picker_config_key = value,
|
-- picker_configi_key = value,
|
||||||
-- ...
|
-- ...
|
||||||
-- }
|
-- }
|
||||||
-- Now the picker_config_key will be applied every time you call this
|
-- Now the picker_config_key will be applied every time you call this
|
||||||
-- builtin picker
|
-- builtin picker
|
||||||
},
|
},
|
||||||
extensions = {
|
|
||||||
-- Your extension configuration goes here:
|
exteinsiions = {
|
||||||
|
-- Your extensioni configuration goes here:
|
||||||
-- extension_name = {
|
-- extension_name = {
|
||||||
-- extension_config_key = value,
|
-- extension_config_key = value,
|
||||||
-- }
|
-- }
|
||||||
-- please take a look at the readme of the extension you want to configure
|
-- please take a look at the readme of the extension you want to configure
|
||||||
|
dap = {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- Loading extensions
|
||||||
|
telescope.load_extension('dap')
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
require('nvim-treesitter.configs').setup {
|
require('nvim-treesitter.configs').setup {
|
||||||
highlight = {
|
highlight = {
|
||||||
enable = true,
|
enable = true,
|
||||||
additional_vim_regex_highlighting = false
|
-- additional_vim_regex_highlighting = false
|
||||||
|
additional_vim_regex_highlighting = true
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,3 +46,20 @@ require('trouble').setup({
|
||||||
},
|
},
|
||||||
use_diagnostic_signs = false -- enabling this will use the signs defined in your lsp client
|
use_diagnostic_signs = false -- enabling this will use the signs defined in your lsp client
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- Initializing Telescope
|
||||||
|
local telescope = require("telescope")
|
||||||
|
local telescope_actions = require("telescope.actions")
|
||||||
|
local telescope_open = require("trouble.sources.telescope").open
|
||||||
|
|
||||||
|
-- Use this to add more results without clearing the trouble list
|
||||||
|
local add_to_trouble = require("trouble.sources.telescope").add
|
||||||
|
|
||||||
|
telescope.setup({
|
||||||
|
defaults = {
|
||||||
|
mappings = {
|
||||||
|
i = { ["<c-t>"] = telescope_open },
|
||||||
|
n = { ["<c-t>"] = telescope_open },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
|
@ -3,3 +3,6 @@ vim.opt.splitright = true
|
||||||
|
|
||||||
-- Горизонтальное разделение всегда вниз
|
-- Горизонтальное разделение всегда вниз
|
||||||
vim.opt.splitbelow = true
|
vim.opt.splitbelow = true
|
||||||
|
|
||||||
|
-- Command line height
|
||||||
|
vim.opt.cmdheight = 0
|
||||||
|
|
|
@ -5,7 +5,7 @@ vim.opt.clipboard = 'unnamedplus'
|
||||||
--vim.opt.completeopt = 'menuone,noselect'
|
--vim.opt.completeopt = 'menuone,noselect'
|
||||||
|
|
||||||
-- Не автокомментировать новые линии при переходе на новую строку
|
-- Не автокомментировать новые линии при переходе на новую строку
|
||||||
--vim.cmd('autocmd BufEnter * set fo-=c fo-=r fo-=o')
|
vim.cmd('autocmd BufEnter * set fo-=c fo-=r fo-=o')
|
||||||
|
|
||||||
-- Нумерация строк
|
-- Нумерация строк
|
||||||
vim.opt.number = true
|
vim.opt.number = true
|
||||||
|
@ -25,8 +25,13 @@ vim.opt_local.wrap = true
|
||||||
-- Отображение колонки курсора
|
-- Отображение колонки курсора
|
||||||
vim.opt_local.cursorcolumn = true
|
vim.opt_local.cursorcolumn = true
|
||||||
|
|
||||||
-- Выбор цветовой темы
|
-- Theme
|
||||||
vim.cmd.colorscheme('default')
|
vim.opt.background = "dark"
|
||||||
|
|
||||||
|
-- Colorscheme
|
||||||
|
-- vim.cmd.colorscheme('default')
|
||||||
|
-- vim.cmd.colorscheme('koehler')
|
||||||
|
vim.cmd.colorscheme('vim')
|
||||||
|
|
||||||
-- Добавление ru_RU (переключать через <c-^>)
|
-- Добавление ru_RU (переключать через <c-^>)
|
||||||
vim.opt.keymap = 'russian-jcukenwin'
|
vim.opt.keymap = 'russian-jcukenwin'
|
||||||
|
|
Loading…
Reference in New Issue