Compare commits

..

No commits in common. "stable" and "1.2.0" have entirely different histories.

8 changed files with 133 additions and 279 deletions

View File

@ -1,26 +1,3 @@
# NVIM by MIRZAEV # nvim
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>
# Install My settings, keymaps and plugins for NeoVim
### 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
![help.png](/examples/help.png)
![help.png](/examples/process.png)
# NVIM screenshots
later

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

View File

@ -1,30 +1,18 @@
#!/usr/bin/env fish #!/usr/bin/env fish
# Initializing the flags # need to rewrite in future
set -l options (fish_opt -s v -l verbose) sudo apt install npm python3-venv ruby-dev -y
set options $options (fish_opt -s f -l force) pip3 install --upgrade pynvim
set options $options (fish_opt -s u -l update) sudo gem install neovim
set options $options (fish_opt -s h -l help)
# Initializing settings # Install NeoVim module for NPM
set NODEJS_VERSION 23 sudo npm i -g neovim
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 HELP case PACKER_INSTALL
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) ";
@ -63,15 +51,15 @@ if test (string match -ri "ru" "$LANG")
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 FONT_INSTALL case FONT_INSTALL
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) "; 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) ";
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)"FiraCode"(set_color white)" (выбери его в настройках твоего эмулятора терминала)"; 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 " (выбери его в настройках твоего эмулятора терминала)";
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)"FiraCode"(set_color white)")"; 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 ")";
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
@ -79,10 +67,6 @@ if test (string match -ri "ru" "$LANG")
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
@ -104,11 +88,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 "Installed 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 "Install 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 and 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 и 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 and 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 и 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
@ -122,188 +106,117 @@ else
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 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)"FiraCode"(set_color white)" font? (y/N) "; 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) ";
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)"FiraCode"(set_color white)" 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; echo "FiraCode"; set_color white; echo " 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)"FiraCode"(set_color white)") "; 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 ")";
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 "Path to the font"; set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Choose a font (path)";
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
if set -q _flag_help # Installation request
# Sending the message set RESPONSE (read -n 1 -p "print PACKER_INSTALL")
print HELP bind -e y
# Exit (success) if test (string match -ri 'y' "$RESPONSE")
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"
if not set -q _flag_force # Installation request
# Installation request set RESPONSE (read -n 1 -p "print PACKER_EXISTS")
set RESPONSE (read -n 1 -p "print PACKER_EXISTS") bind -e y
bind -e y
end
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE") if 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 ~/.local/share/nvim/site/pack/packer/start/packer.nvim 1> /dev/null 2> /dev/null
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\
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
end end
if not set -q _flag_force # Installation request
# Installation request set RESPONSE (read -n 1 -p "print LSP_INTELEPHENSE_INSTALL")
set RESPONSE (read -n 1 -p "print LSP_INTELEPHENSE_INSTALL") bind -e y
bind -e y
end
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE") if 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
if not set -q _flag_force # Installation request
# Installation request set RESPONSE (read -n 1 -p "print LSP_VSCODE-LANGSERVERS_INSTALL")
set RESPONSE (read -n 1 -p "print LSP_VSCODE-LANGSERVERS_INSTALL") bind -e y
bind -e y
end
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE") if 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
if not set -q _flag_force # Installation request
# Installation request set RESPONSE (read -n 1 -p "print LSP_EMMET_INSTALL")
set RESPONSE (read -n 1 -p "print LSP_EMMET_INSTALL") bind -e y
bind -e y
end
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE") if 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
if not set -q _flag_force # Installation request
# Installation request set RESPONSE (read -n 1 -p "print LSP_CSSMODULES_INSTALL")
set RESPONSE (read -n 1 -p "print LSP_CSSMODULES_INSTALL") bind -e y
bind -e y
end
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE") if 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
if not set -q _flag_force # Installation request
# Installation request set RESPONSE (read -n 1 -p "print LSP_DENO_INSTALL")
set RESPONSE (read -n 1 -p "print LSP_DENO_INSTALL") bind -e y
bind -e y
end
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE") if 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"
@ -312,91 +225,71 @@ if set -q _flag_force; or 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 not set -q _flag_force if test (string match -ri 'y' "$RESPONSE")
# 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
sudo apt install ninja-build -y cd ~/
cd ~/ rm -rf lua-language-server 1> /dev/null 2> /dev/null
rm -rf lua-language-server git clone https://github.com/LuaLS/lua-language-server 1> /dev/null 2> /dev/null
git clone https://github.com/LuaLS/lua-language-server cd lua-language-server
cd lua-language-server fish ./make.sh 1> /dev/null 2> /dev/null
bash ./make.sh fish_add_path $HOME/lua-language-server/bin 1> /dev/null 2> /dev/null
fish_add_path $HOME/lua-language-server/bin
end &> $output
print LSP_LUA_INSTALLED print LSP_LUA_INSTALLED
end end
if not set -q _flag_force # Installation request
# Installation request set RESPONSE (read -n 1 -p "print FORMATTER_NGINX_INSTALL")
set RESPONSE (read -n 1 -p "print FORMATTER_NGINX_INSTALL") bind -e y
bind -e y
end
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE") if 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
if not set -q _flag_force # Installation request
# Installation request set RESPONSE (read -n 1 -p "print FORMATTER_PRETTIER_INSTALL")
set RESPONSE (read -n 1 -p "print FORMATTER_PRETTIER_INSTALL") bind -e y
bind -e y
end
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE") if test (string match -ri 'y' "$RESPONSE")
# Accepted installation of "prettier/vim-prettier" # Accepted installation of "prettier/vim-prettier"
begin npm i prettier 1> /dev/null 2> /dev/null
npm i prettier G
npm i -g prettier
end &> $output
print FORMATTER_PRETTIER_INSTALLED print FORMATTER_PRETTIER_INSTALLED
end end
print FONTS print FONTS
if not set -q _flag_force # Installation request
# Installation request set RESPONSE (read -n 1 -p "print FONT_INSTALL")
set RESPONSE (read -n 1 -p "print FONT_INSTALL") bind -e y
bind -e y if test (string match -ri 'y' "$RESPONSE")
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
begin mkdir -p ~/.local/share/fonts/FiraCode
mkdir -p ~/.local/share/fonts/FiraCode cd ~/.local/share/fonts/FiraCode
cd ~/.local/share/fonts/FiraCode wget "https://github.com/ryanoasis/nerd-fonts/releases/download/v3.1.1/FiraCode.zip"
wget "https://github.com/ryanoasis/nerd-fonts/releases/download/v3.1.1/FiraCode.zip" unzip FiraCode.zip
unzip -o FiraCode.zip rm FiraCode.zip
rm FiraCode.zip fc-cache -f -v
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 (set -q _flag_force or string match (lsb_release -i | grep -Po '[^\s]*$') Ubuntu)) # if (string match (lsb_release -i | grep -Po '[^\s]*$') Ubuntu))
# sudo apt-get install dconf # sudo apt-get install dconf
# end # end
end end
@ -407,37 +300,27 @@ if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE")
else else
# Denied installation of the FiraCode font # Denied installation of the FiraCode font
if not set -q _flag_force # Installation request
# Installation request set RESPONSE (read -n 1 -p "print FONT_PATCH")
set RESPONSE (read -n 1 -p "print FONT_PATCH") bind -e y
bind -e y
end
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE") if test (string match -ri 'y' "$RESPONSE")
# Accepted to patching the font # Accepted to patching the font
begin cd ~/
cd ~/ wget "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/FontPatcher.zip"
wget "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/FontPatcher.zip" unzip FontPatcher.zip -d font_patcher
unzip -o FontPatcher.zip -d font_patcher cd 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
end &> $output ./font-patcher (read -p "print FONT_CHOOSE")
# 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

View File

@ -1,2 +0,0 @@
-- Quick compilation with GCC and running
vim.keymap.set('n', 'co', '<cmd>:!gcc -o test % && ./test', {noremap = true})

View File

@ -1,6 +1,6 @@
--[[ nvim-neo-tree/neo-tree ]] --[[ nvim-neo-tree/neo-tree ]]
-- Открыть интерфейс с древовидным отображением файлов -- Открыть интерфейс с древовидным отображением файлов
vim.keymap.set({ 'n', 'i', 'v', 't' }, '<f1>', '<cmd>Neotree toggle<cr>', { noremap = true }) vim.keymap.set({ 'n', 'i', 'v', 't' }, '<f1>', '<cmd>NeoTreeRevealToggle<cr>', { noremap = true })
-- [[ folke/trouble.nvim ]] -- [[ folke/trouble.nvim ]]
@ -30,7 +30,6 @@ 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 })
@ -55,18 +54,19 @@ 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 (not (vim.diff(vim.inspect(vim.lsp.buf_get_clients()), '{}') == '')) then elseif (vim.lsp.buf.server_ready()) then
-- LSP-server clients is ready -- LSP-server is ready
vim.lsp.buf.format { async = true } vim.lsp.buf.format { async = true }
else else
-- LSP-server clients not found -- LSP-server 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)

View File

@ -71,7 +71,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 +79,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',
@ -137,7 +137,7 @@ return require('packer').startup(function(use)
-- Интерфейс для поиска -- Интерфейс для поиска
use { use {
'nvim-telescope/telescope.nvim', 'nvim-telescope/telescope.nvim',
-- tag = '0.1.1', tag = '0.1.1',
config = function() require('plugins/telescope') end config = function() require('plugins/telescope') end
} }
@ -181,8 +181,6 @@ return require('packer').startup(function(use)
-- Форматировщик Prettier -- Форматировщик Prettier
use { use {
'prettier/vim-prettier', 'prettier/vim-prettier',
branch = 'master',
-- run = 'sudo npm i -g',
run = 'yarn install --frozen-lockfile --production' run = 'yarn install --frozen-lockfile --production'
} }
end) end)

View File

@ -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
@ -26,9 +26,7 @@ vim.opt_local.wrap = true
vim.opt_local.cursorcolumn = true vim.opt_local.cursorcolumn = true
-- Выбор цветовой темы -- Выбор цветовой темы
-- vim.cmd.colorscheme('default') 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'