feat: add nvim
This commit is contained in:
Executable
+9
@@ -0,0 +1,9 @@
|
||||
!#/bin/bash
|
||||
cd ~
|
||||
sudo rm -r neovim
|
||||
git clone https://github.com/neovim/neovim
|
||||
cd neovim
|
||||
sudo make CMAKE_BUILD_TYPE=Release install
|
||||
cd ~
|
||||
sudo rm -r neovim
|
||||
|
||||
Executable
+28
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# NOTE:
|
||||
# This doesn't work as is on Windows. You'll need to create an equivalent `.bat` file instead
|
||||
#
|
||||
# NOTE:
|
||||
# If you're not using Linux you'll need to adjust the `-configuration` option
|
||||
# to point to the `config_mac' or `config_win` folders depending on your system.
|
||||
|
||||
JAR="$HOME/.config/nvim/.language-servers/eclipse.jdt.ls/org.eclipse.jdt.ls.product/target/repository/plugins/org.eclipse.equinox.launcher_*.jar"
|
||||
GRADLE_HOME=$HOME/gradle $HOME/.sdkman/candidates/java/current/bin/java \
|
||||
-Declipse.application=org.eclipse.jdt.ls.core.id1 \
|
||||
-Dosgi.bundles.defaultStartLevel=4 \
|
||||
-Declipse.product=org.eclipse.jdt.ls.core.product \
|
||||
-Dlog.protocol=true \
|
||||
-Dlog.level=ALL \
|
||||
-javaagent:/usr/local/share/lombok/lombok.jar \
|
||||
-Xms1g \
|
||||
-Xmx2G \
|
||||
-jar $(echo "$JAR") \
|
||||
-configuration "$HOME/.config/nvim/.language-servers/eclipse.jdt.ls/org.eclipse.jdt.ls.product/target/repository/config_linux" \
|
||||
-data "${1:-$HOME/workspace}" \
|
||||
--add-modules=ALL-SYSTEM \
|
||||
--add-opens java.base/java.util=ALL-UNNAMED \
|
||||
--add-opens java.base/java.lang=ALL-UNNAMED
|
||||
|
||||
# for older java versions if you wanna use lombok
|
||||
# -Xbootclasspath/a:/usr/local/share/lombok/lombok.jar \
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# NOTE:
|
||||
# This doesn't work as is on Windows. You'll need to create an equivalent `.bat` file instead
|
||||
#
|
||||
# NOTE:
|
||||
# If you're not using Linux you'll need to adjust the `-configuration` option
|
||||
# to point to the `config_mac' or `config_win` folders depending on your system.
|
||||
|
||||
JAR="$HOME/.config/nvim/.language-servers/eclipse.jdt.ls/org.eclipse.jdt.ls.product/target/repository/plugins/org.eclipse.equinox.launcher_*.jar"
|
||||
GRADLE_HOME=$HOME/gradle $HOME/.sdkman/candidates/java/current/bin/java \
|
||||
-Declipse.application=org.eclipse.jdt.ls.core.id1 \
|
||||
-Dosgi.bundles.defaultStartLevel=4 \
|
||||
-Declipse.product=org.eclipse.jdt.ls.core.product \
|
||||
-Dlog.protocol=true \
|
||||
-Dlog.level=ALL \
|
||||
-javaagent:/usr/local/share/lombok/lombok.jar \
|
||||
-Xms1g \
|
||||
-Xmx2G \
|
||||
-jar $(echo "$JAR") \
|
||||
-configuration "$HOME/.config/nvim/.language-servers/eclipse.jdt.ls/org.eclipse.jdt.ls.product/target/repository/config_mac" \
|
||||
-data "${1:-$HOME/workspace}" \
|
||||
--add-modules=ALL-SYSTEM \
|
||||
--add-opens java.base/java.util=ALL-UNNAMED \
|
||||
--add-opens java.base/java.lang=ALL-UNNAMED
|
||||
|
||||
# for older java versions if you wanna use lombok
|
||||
# -Xbootclasspath/a:/usr/local/share/lombok/lombok.jar \
|
||||
|
||||
Executable
+2
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
nvim -u ~/.config/nvcode/init.lua
|
||||
Executable
+207
@@ -0,0 +1,207 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -o nounset # error when referencing undefined variable
|
||||
set -o errexit # exit when command fails
|
||||
|
||||
installnodemac() {
|
||||
brew install lua
|
||||
brew install node
|
||||
brew install yarn
|
||||
}
|
||||
|
||||
installnodeubuntu() {
|
||||
sudo apt install nodejs
|
||||
sudo apt install npm
|
||||
}
|
||||
|
||||
moveoldnvim() {
|
||||
echo "Not installing LunarVim"
|
||||
echo "Please move your ~/.config/nvim folder before installing"
|
||||
exit
|
||||
}
|
||||
|
||||
installnodearch() {
|
||||
sudo pacman -S nodejs
|
||||
sudo pacman -S npm
|
||||
}
|
||||
|
||||
installnodefedora() {
|
||||
sudo dnf install -y nodejs
|
||||
sudo dnf install -y npm
|
||||
}
|
||||
|
||||
installnodegentoo() {
|
||||
echo "Printing current node status..."
|
||||
emerge -pqv net-libs/nodejs
|
||||
echo "Make sure the npm USE flag is enabled for net-libs/nodejs"
|
||||
echo "If it isn't enabled, would you like to enable it with flaggie? (Y/N)"
|
||||
read answer
|
||||
[ "$answer" != "${answer#[Yy]}" ] && sudo flaggie net-libs/nodejs +npm
|
||||
sudo emerge -avnN net-libs/nodejs
|
||||
}
|
||||
|
||||
installnode() {
|
||||
echo "Installing node..."
|
||||
[ "$(uname)" == "Darwin" ] && installnodemac
|
||||
[ -n "$(cat /etc/os-release | grep Ubuntu)" ] && installnodeubuntu
|
||||
[ -f "/etc/arch-release" ] && installnodearch
|
||||
[ -f "/etc/artix-release" ] && installnodearch
|
||||
[ -f "/etc/fedora-release" ] && installnodefedora
|
||||
[ -f "/etc/gentoo-release" ] && installnodegentoo
|
||||
[ "$(expr substr $(uname -s) 1 10)" == "MINGW64_NT" ] && echo "Windows not currently supported"
|
||||
sudo npm i -g neovim
|
||||
}
|
||||
|
||||
installpiponmac() {
|
||||
sudo curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
|
||||
python3 get-pip.py
|
||||
rm get-pip.py
|
||||
}
|
||||
|
||||
installpiponubuntu() {
|
||||
sudo apt install python3-pip >/dev/null
|
||||
}
|
||||
|
||||
installpiponarch() {
|
||||
sudo pacman -S python-pip
|
||||
}
|
||||
|
||||
installpiponfedora() {
|
||||
sudo dnf install -y pip >/dev/nul
|
||||
}
|
||||
|
||||
installpipongentoo() {
|
||||
sudo emerge -avn dev-python/pip
|
||||
}
|
||||
|
||||
installpip() {
|
||||
echo "Installing pip..."
|
||||
[ "$(uname)" == "Darwin" ] && installpiponmac
|
||||
[ -n "$(cat /etc/os-release | grep Ubuntu)" ] && installpiponubuntu
|
||||
[ -f "/etc/arch-release" ] && installpiponarch
|
||||
[ -f "/etc/fedora-release" ] && installpiponfedora
|
||||
[ -f "/etc/gentoo-release" ] && installpipongentoo
|
||||
[ "$(expr substr $(uname -s) 1 10)" == "MINGW64_NT" ] && echo "Windows not currently supported"
|
||||
}
|
||||
|
||||
installpynvim() {
|
||||
echo "Installing pynvim..."
|
||||
if [ -f "/etc/gentoo-release" ]; then
|
||||
echo "Installing using Portage"
|
||||
sudo emerge -avn dev-python/pynvim
|
||||
else
|
||||
pip3 install pynvim --user
|
||||
fi
|
||||
}
|
||||
|
||||
installpacker() {
|
||||
git clone https://github.com/wbthomason/packer.nvim ~/.local/share/nvim/site/pack/packer/start/packer.nvim
|
||||
}
|
||||
|
||||
cloneconfig() {
|
||||
echo "Cloning LunarVim configuration"
|
||||
git clone https://github.com/ChristianChiarulli/lunarvim.git ~/.config/nvim
|
||||
# mv $HOME/.config/nvim/init.lua $HOME/.config/nvim/init.lua.tmp
|
||||
# mv $HOME/.config/nvim/utils/init.lua $HOME/.config/nvim/init.lua
|
||||
nvim -u $HOME/.config/nvim/init.lua +PackerInstall
|
||||
# rm $HOME/.config/nvim/init.lua
|
||||
# mv $HOME/.config/nvim/init.lua.tmp $HOME/.config/nvim/init.lua
|
||||
}
|
||||
|
||||
asktoinstallnode() {
|
||||
echo "node not found"
|
||||
echo -n "Would you like to install node now (y/n)? "
|
||||
read answer
|
||||
[ "$answer" != "${answer#[Yy]}" ] && installnode
|
||||
}
|
||||
|
||||
asktoinstallpip() {
|
||||
# echo "pip not found"
|
||||
# echo -n "Would you like to install pip now (y/n)? "
|
||||
# read answer
|
||||
# [ "$answer" != "${answer#[Yy]}" ] && installpip
|
||||
echo "Please install pip3 before continuing with install"
|
||||
exit
|
||||
}
|
||||
|
||||
installonmac() {
|
||||
brew install ripgrep fzf ranger
|
||||
npm install -g tree-sitter-cli
|
||||
}
|
||||
|
||||
pipinstallueberzug() {
|
||||
which pip3 >/dev/null && pip3 install ueberzug || echo "Not installing ueberzug pip not found"
|
||||
}
|
||||
|
||||
installonubuntu() {
|
||||
sudo apt install ripgrep fzf ranger
|
||||
sudo apt install libjpeg8-dev zlib1g-dev python-dev python3-dev libxtst-dev
|
||||
pip3 install ueberzug
|
||||
pip3 install neovim-remote
|
||||
npm install -g tree-sitter-cli
|
||||
}
|
||||
|
||||
installonarch() {
|
||||
sudo pacman -S ripgrep fzf ranger
|
||||
which yay >/dev/null && yay -S python-ueberzug-git || pipinstallueberzug
|
||||
pip3 install neovim-remote
|
||||
npm install -g tree-sitter-cli
|
||||
}
|
||||
|
||||
installonfedora() {
|
||||
sudo dnf groupinstall "X Software Development"
|
||||
sudo dnf install -y fzf ripgrep ranger
|
||||
pip3 install wheel ueberzug
|
||||
}
|
||||
|
||||
installongentoo() {
|
||||
sudo emerge -avn sys-apps/ripgrep app-shells/fzf app-misc/ranger dev-python/neovim-remote virtual/jpeg sys-libs/zlib
|
||||
pipinstallueberzug
|
||||
npm install -g tree-sitter-cli
|
||||
}
|
||||
|
||||
installextrapackages() {
|
||||
[ "$(uname)" == "Darwin" ] && installonmac
|
||||
[ -n "$(cat /etc/os-release | grep Ubuntu)" ] && installonubuntu
|
||||
[ -f "/etc/arch-release" ] && installonarch
|
||||
[ -f "/etc/artix-release" ] && installonarch
|
||||
[ -f "/etc/fedora-release" ] && installonfedora
|
||||
[ -f "/etc/gentoo-release" ] && installongentoo
|
||||
[ "$(expr substr $(uname -s) 1 10)" == "MINGW64_NT" ] && echo "Windows not currently supported"
|
||||
}
|
||||
|
||||
# Welcome
|
||||
echo 'Installing LunarVim'
|
||||
|
||||
# move old nvim directory if it exists
|
||||
[ -d "$HOME/.config/nvim" ] && moveoldnvim
|
||||
|
||||
# install pip
|
||||
which pip3 >/dev/null && echo "pip installed, moving on..." || asktoinstallpip
|
||||
|
||||
# install node and neovim support
|
||||
which node >/dev/null && echo "node installed, moving on..." || asktoinstallnode
|
||||
|
||||
# install pynvim
|
||||
pip3 list | grep pynvim >/dev/null && echo "pynvim installed, moving on..." || installpynvim
|
||||
|
||||
if [ -e "$HOME/.local/share/nvim/site/pack/packer/start/packer.nvim" ]; then
|
||||
echo 'packer already installed'
|
||||
else
|
||||
installpacker
|
||||
fi
|
||||
|
||||
if [ -e "$HOME/.config/nvim/init.lua" ]; then
|
||||
echo 'nvcode already installed'
|
||||
else
|
||||
# clone config down
|
||||
cloneconfig
|
||||
# echo 'export PATH=$HOME/.config/nvim/utils/bin:$PATH' >>~/.zshrc
|
||||
# echo 'export PATH=$HOME/.config/nvcode/utils/bin:$PATH' >>~/.bashrc
|
||||
fi
|
||||
|
||||
echo "I recommend you also install and activate a font from here: https://github.com/ryanoasis/nerd-fonts"
|
||||
|
||||
# echo "I also recommend you add 'set preview_images_method ueberzug' to ~/.config/ranger/rc.conf"
|
||||
|
||||
# echo 'export PATH=/home/$USER/.config/nvcode/utils/bin:$PATH appending to zshrc/bashrc'
|
||||
Executable
BIN
Binary file not shown.
|
After Width: | Height: | Size: 856 KiB |
@@ -0,0 +1,171 @@
|
||||
[
|
||||
{
|
||||
"key": "shift+ctrl+e",
|
||||
"command": "actions.findWithSelection"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+e",
|
||||
"command": "-actions.findWithSelection"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+e",
|
||||
"command": "workbench.view.explorer"
|
||||
},
|
||||
{
|
||||
"key": "shift+ctrl+e",
|
||||
"command": "-workbench.view.explorer"
|
||||
},
|
||||
{
|
||||
"key": "r",
|
||||
"command": "renameFile",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "enter",
|
||||
"command": "-renameFile",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "j",
|
||||
"command": "list.focusDown",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "k",
|
||||
"command": "list.focusUp",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+j",
|
||||
"command": "selectNextSuggestion",
|
||||
"when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+k",
|
||||
"command": "selectPrevSuggestion",
|
||||
"when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+j",
|
||||
"command": "workbench.action.quickOpenNavigateNext",
|
||||
"when": "inQuickOpen"
|
||||
},
|
||||
{
|
||||
"key": "tab",
|
||||
"command": "selectNextSuggestion",
|
||||
"when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible"
|
||||
},
|
||||
{
|
||||
"key": "tab",
|
||||
"command": "workbench.action.quickOpenNavigateNext",
|
||||
"when": "inQuickOpen"
|
||||
},
|
||||
{
|
||||
"key": "shift+tab",
|
||||
"command": "selectPrevSuggestion",
|
||||
"when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible"
|
||||
},
|
||||
{
|
||||
"key": "shift+tab",
|
||||
"command": "workbench.action.quickOpenNavigatePrevious",
|
||||
"when": "inQuickOpen"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+k",
|
||||
"command": "workbench.action.quickOpenNavigatePrevious",
|
||||
"when": "inQuickOpen"
|
||||
},
|
||||
{
|
||||
"key": "enter",
|
||||
"command": "list.select",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus"
|
||||
},
|
||||
{
|
||||
"key": "l",
|
||||
"command": "list.select",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "o",
|
||||
"command": "list.toggleExpand",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "h",
|
||||
"command": "list.collapse",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "a",
|
||||
"command": "explorer.newFile",
|
||||
"when": "filesExplorerFocus && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "shift+a",
|
||||
"command": "explorer.newFolder",
|
||||
"when": "filesExplorerFocus && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "shift+;",
|
||||
"command": "insertPrevSuggestion",
|
||||
"when": "hasOtherSuggestions && textInputFocus && textInputFocus && !inSnippetMode && !suggestWidgetVisible && config.editor.tabCompletion == 'on'"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+l",
|
||||
"when": "sideBarFocus",
|
||||
"command": "workbench.action.focusActiveEditorGroup"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+k",
|
||||
"command": "workbench.action.focusActiveEditorGroup",
|
||||
"when": "terminalFocus"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+shift+t",
|
||||
"command": "workbench.action.terminal.focus",
|
||||
"when": "!terminalFocus"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+j",
|
||||
"command": "-editor.action.insertLineAfter",
|
||||
"when": "editorTextFocus && neovim.ctrlKeysInsert && !neovim.recording && neovim.mode == 'insert'"
|
||||
},
|
||||
{
|
||||
"key": "alt+j",
|
||||
"command": "workbench.action.terminal.focus",
|
||||
"when": "!terminalFocus"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+shift+t",
|
||||
"command": "workbench.action.togglePanel"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+j",
|
||||
"command": "-workbench.action.togglePanel"
|
||||
},
|
||||
{
|
||||
"key": "shift+k",
|
||||
"command": "editor.action.showHover",
|
||||
"when": "editorTextFocus && neovim.mode != 'insert'"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+k ctrl+i",
|
||||
"command": "-editor.action.showHover",
|
||||
"when": "editorTextFocus"
|
||||
},
|
||||
{
|
||||
"key": "shift+tab",
|
||||
"command": "-acceptAlternativeSelectedSuggestion",
|
||||
"when": "suggestWidgetVisible && textInputFocus && textInputFocus"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+f",
|
||||
"command": "-vscode-neovim.ctrl-f",
|
||||
"when": "editorTextFocus && neovim.ctrlKeysNormal && neovim.init && neovim.mode != 'insert'"
|
||||
},
|
||||
{
|
||||
"key": "space",
|
||||
"command": "whichkey.show",
|
||||
"when": "neovim.mode != 'insert'"
|
||||
}
|
||||
]
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user