@@ -1,4 +1,14 @@
#!/usr/bin/fish
#!/usr/bin/env fish
# need to rewrite in future
sudo apt install -y npm python3-venv ruby-dev pkg-config
python3 -m pip install --upgrade pip
fish_add_path ~/.local/bin
pip3 install --upgrade pynvim
sudo gem install neovim
# Install NeoVim module for NPM
sudo npm i -g neovim
# Инициализация текста сообщений в зависимости от установленного языка в оболочке
if test ( string match -ri "ru" " $LANG " )
@@ -38,6 +48,22 @@ if test (string match -ri "ru" "$LANG")
set_color yellow; echo -n "[mirzaev/nvim] " ; set_color blue; echo -n "[ЗАДАЧА] " ; set_color white; echo "Установить форматировщик для NGINX? (\"vasilevich/nginxbeautifier\") (y/N) " ;
case FORMATTER_NGINX_INSTALLED
set_color yellow; echo -n "[mirzaev/nvim] " ; set_color green; echo -n "[РАБОТА] " ; set_color white; echo "Установлен форматировщик для NGINX (\"vasilevich/nginxbeautifier\")" ;
case FORMATTER_PRETTIER_INSTALL
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
set_color yellow; echo -n "[mirzaev/nvim] " ; set_color green; echo -n "[РАБОТА] " ; set_color white; echo "Установлен форматировщик Prettier (\"prettier/vim-prettier\")" ;
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) " ;
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) " (выбери е г о в настройках твоего эмулятора терминала)" ;
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) ")" ;
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) " ;
case FONT_CHOOSE
set_color yellow; echo -n "[mirzaev/nvim] " ; set_color blue; echo -n "[ЗАДАЧА] " ; set_color white; echo "Выбери шрифт (путь) " ;
case FONT_PATCHED
set_color yellow; echo -n "[mirzaev/nvim] " ; set_color green; echo -n "[РАБОТА] " ; set_color white; echo "Пропатчен шрифт для иконок (\"nvim-tree/nvim-web-devicons\")" ;
end
end
else
@@ -77,7 +103,23 @@ else
set_color yellow; echo -n "[mirzaev/nvim] " ; set_color blue; echo -n "[TASK] " ; set_color white; echo "Install the formatter for NGINX? (\"vasilevich/nginxbeautifier\") (y/N) " ;
case FORMATTER_NGINX_INSTALLED
set_color yellow; echo -n "[mirzaev/nvim] " ; set_color green; echo -n "[WORK] " ; set_color white; echo "Installed the formatter for NGINX (\"vasilevich/nginxbeautifier\")" ;
end
case FORMATTER_PRETTIER_INSTALL
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
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
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
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
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
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
set_color yellow; echo -n "[mirzaev/nvim] " ; set_color blue; echo -n "[TASK] " ; set_color white; echo "Choose a font (path)" ;
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\")" ;
end
end
end
@@ -124,7 +166,7 @@ if test (string match -ri 'y' "$RESPONSE")
# Запрошена установка "bmewburn/vscode-intelephense"
# Установка
npm i intelephense 1> /dev/null 2> /dev/null
sudo npm i -g intelephense 1> /dev/null 2> /dev/null
print LSP_INTELEPHENSE_INSTALLED
end
@@ -137,7 +179,7 @@ if test (string match -ri 'y' "$RESPONSE")
# Запрошена установка "hrsh7th/vscode-langservers-extracted"
# Установка
npm i vscode-langservers-extracted 1> /dev/null 2> /dev/null
sudo npm i -g vscode-langservers-extracted 1> /dev/null 2> /dev/null
print LSP_VSCODE-LANGSERVERS_INSTALLED
end
@@ -150,7 +192,7 @@ if test (string match -ri 'y' "$RESPONSE")
# Запрошена установка "aca/emmet-ls"
# Установка
npm i emmet-ls 1> /dev/null 2> /dev/null
sudo npm i -g emmet-ls 1> /dev/null 2> /dev/null
print LSP_EMMET_INSTALLED
end
@@ -163,7 +205,7 @@ if test (string match -ri 'y' "$RESPONSE")
# Запрошена установка "antonk52/cssmodules-language-server"
# Установка
npm i cssmodules-language-server 1> /dev/null 2> /dev/null
sudo npm i -g cssmodules-language-server 1> /dev/null 2> /dev/null
print LSP_CSSMODULES_INSTALLED
end
@@ -178,22 +220,28 @@ if test (string match -ri 'y' "$RESPONSE")
# Установка
curl -fsSL https://deno.land/install.sh | sh 1> /dev/null 2> /dev/null
# TODO доделать нормально
set -g DENO_INSTALL " $HOME /.deno "
fish_add_path $DENO_INSTALL /bin
print LSP_DENO_INSTALLED
end
# Installation request
set RESPONSE ( read -n 1 -p "print LSP_LUA_INSTALL" )
set RESPONSE ( read -n 1 -p "print LSP_LUA_INSTALL" ) GG
bind -e y
if test ( string match -ri 'y' " $RESPONSE " )
# Запрошена установка "luals/lua-language-server"
# Установка
sudo apt install ninja-build -y
cd ~/
rm -rf lua-language-server 1> /dev/null 2> /dev/null
git clone https://github.com/LuaLS/lua-language-server 1> /dev/null 2> /dev/null
cd lua-language-server
fish ./make.sh 1> /dev/null 2> /dev/null
fish_add_path $( realpath ./) /bin 1> /dev/null 2> /dev/null
fish_add_path $HOME /lua-language-server /bin 1> /dev/null 2> /dev/null
print LSP_LUA_INSTALLED
end
@@ -206,7 +254,77 @@ if test (string match -ri 'y' "$RESPONSE")
# Запрошена установка "vasilevich/nginxbeautifier"
# Установка
npm i nginxbeautifier 1> /dev/null 2> /dev/null
sudo npm i -g nginxbeautifier 1> /dev/null 2> /dev/null
print FORMATTER_NGINX_INSTALLED
end
# Installation request
set RESPONSE ( read -n 1 -p "print FORMATTER_PRETTIER_INSTALL" )
bind -e y
if test ( string match -ri 'y' " $RESPONSE " )
# Accepted installation of "prettier/vim-prettier"
npm i prettier 1> /dev/null 2> /dev/null
sudo npm i -g prettier 1> /dev/null 2> /dev/null
print FORMATTER_PRETTIER_INSTALLED
end
print FONTS
# Installation request
set RESPONSE ( read -n 1 -p "print FONT_INSTALL" )
bind -e y
if test ( string match -ri 'y' " $RESPONSE " )
# Accepted installation of the FiraCode font
mkdir -p ~/.local/share/fonts/FiraCode
cd ~/.local/share/fonts/FiraCode
wget "https://github.com/ryanoasis/nerd-fonts/releases/download/v3.1.1/FiraCode.zip"
unzip FiraCode.zip
rm FiraCode.zip
fc-cache -f -v
print FONT_INSTALLED
if type -q dconf
# GNOME
# if (string match (lsb_release -i | grep -Po '[^\s]*$') Ubuntu))
# sudo apt-get install dconf
# end
end
# dconf write /apps/gnome-terminal/profiles/Default/font FiraCodeNerdFontMono-Medium.ttf
# gconftool-2 --set /apps/gnome-terminal/profiles/Default/use_system_font --type=boolean false
# gconftool-2 --set /apps/gnome-terminal/profiles/Default/font --type string FiraCodeNerdFontMono-Medium.ttf
else
# Denied installation of the FiraCode font
# Installation request
set RESPONSE ( read -n 1 -p "print FONT_PATCH" )
bind -e y
if test ( string match -ri 'y' " $RESPONSE " )
# Accepted to patching the font
cd ~/
wget "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/FontPatcher.zip"
unzip FontPatcher.zip -d font_patcher
cd font_patcher
#if not type -q python && type -q python3
if not type -q python
# alias python=python3
sudo apt install python-is-python3 -y
end
sudo apt install fontforge python3-fontforge -y
./font-patcher ( read -p "print FONT_CHOOSE" )
print FONT_PATCHED
end
end