diff options
Diffstat (limited to 'utils/installer')
-rwxr-xr-x | utils/installer/install.sh | 266 | ||||
-rwxr-xr-x | utils/installer/install_stylua.sh | 63 | ||||
-rw-r--r-- | utils/installer/lv-config.example-no-ts.lua | 94 | ||||
-rw-r--r-- | utils/installer/lv-config.example.lua | 101 | ||||
-rwxr-xr-x | utils/installer/uninstall.sh | 5 |
5 files changed, 306 insertions, 223 deletions
diff --git a/utils/installer/install.sh b/utils/installer/install.sh index 0473bbab..5778fb3a 100755 --- a/utils/installer/install.sh +++ b/utils/installer/install.sh @@ -5,219 +5,235 @@ 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 + brew install lua + brew install node + brew install yarn } installnodeubuntu() { - sudo apt install nodejs - sudo apt install npm + sudo apt install nodejs + sudo apt install npm } -moveoldnvim() { - echo "Not installing LunarVim" - echo "Please move your ~/.config/nvim folder before installing" - exit +moveoldlvim() { + echo "Not installing LunarVim" + echo "Please move your ~/.local/share/lunarvim folder before installing" + exit } installnodearch() { - sudo pacman -S nodejs - sudo pacman -S npm + sudo pacman -S nodejs + sudo pacman -S npm } installnodefedora() { - sudo dnf install -y nodejs - sudo dnf install -y npm + 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 + 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 -r 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 + echo "Installing node..." + [ "$(uname)" = "Darwin" ] && installnodemac + grep -q Ubuntu /etc/os-release && installnodeubuntu + [ -f "/etc/arch-release" ] && installnodearch + [ -f "/etc/artix-release" ] && installnodearch + [ -f "/etc/fedora-release" ] && installnodefedora + [ -f "/etc/gentoo-release" ] && installnodegentoo + [ "$(uname -s | cut -c 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 + 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 + sudo apt install python3-pip >/dev/null } installpiponarch() { - sudo pacman -S python-pip + sudo pacman -S python-pip } installpiponfedora() { - sudo dnf install -y pip >/dev/nul + sudo dnf install -y pip >/dev/null } installpipongentoo() { - sudo emerge -avn dev-python/pip + 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" + echo "Installing pip..." + [ "$(uname)" = "Darwin" ] && installpiponmac + grep -q Ubuntu /etc/os-release && installpiponubuntu + [ -f "/etc/arch-release" ] && installpiponarch + [ -f "/etc/fedora-release" ] && installpiponfedora + [ -f "/etc/gentoo-release" ] && installpipongentoo + [ "$(uname -s | cut -c 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 + 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 + git clone https://github.com/wbthomason/packer.nvim ~/.local/share/lunarvim/site/pack/packer/start/packer.nvim } cloneconfig() { - echo "Cloning LunarVim configuration" - git clone --branch $LVBRANCH https://github.com/ChristianChiarulli/lunarvim.git ~/.config/nvim - cp $HOME/.config/nvim/utils/installer/lv-config.example-no-ts.lua $HOME/.config/nvim/lv-config.lua - nvim --headless \ - +'autocmd User PackerComplete sleep 100m | qall' \ - +PackerInstall + echo "Cloning LunarVim configuration" + mkdir -p ~/.local/share/lunarvim + case "$@" in - nvim --headless \ - +'autocmd User PackerComplete sleep 100m | qall' \ - +PackerSync + *--testing*) + cp -r "$(pwd)" ~/.local/share/lunarvim/lvim + ;; + *) + git clone --branch "$LVBRANCH" https://github.com/ChristianChiarulli/lunarvim.git ~/.local/share/lunarvim/lvim + ;; + esac + mkdir -p "$HOME/.config/lvim" + sudo cp "$HOME/.local/share/lunarvim/lvim/utils/bin/lvim" "/usr/local/bin" + cp "$HOME/.local/share/lunarvim/lvim/utils/installer/lv-config.example-no-ts.lua" "$HOME/.config/lvim/lv-config.lua" + + nvim -u ~/.local/share/lunarvim/lvim/init.lua --cmd "set runtimepath+=~/.local/share/lunarvim/lvim" --headless \ + +'autocmd User PackerComplete sleep 100m | qall' \ + +PackerInstall + + nvim -u ~/.local/share/lunarvim/lvim/init.lua --cmd "set runtimepath+=~/.local/share/lunarvim/lvim" --headless \ + +'autocmd User PackerComplete sleep 100m | qall' \ + +PackerSync + + printf "\nCompile Complete\n" + + if [ -e "$HOME/.local/share/lunarvim/lvim/init.lua" ]; then + echo 'lv-config already present' + else + cp "$HOME/.local/share/lunarvim/lvim/utils/installer/lv-config.example.lua" "$HOME/.config/lvim/lv-config.lua" + fi - echo -e "\nCompile Complete" - rm $HOME/.config/nvim/lv-config.lua - cp $HOME/.config/nvim/utils/installer/lv-config.example.lua $HOME/.config/nvim/lv-config.lua - # nvim --headless -cq ':silent TSUpdate' -cq ':qall' >/dev/null 2>&1 } asktoinstallnode() { - echo "node not found" - echo -n "Would you like to install node now (y/n)? " - read answer - [ "$answer" != "${answer#[Yy]}" ] && installnode + echo "node not found" + printf "Would you like to install node now (y/n)? " + read -r 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 + # 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" + brew install ripgrep fzf + npm install -g tree-sitter-cli } 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 + sudo apt install ripgrep fzf + sudo apt install libjpeg8-dev zlib1g-dev python-dev python3-dev libxtst-dev + 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 + sudo pacman -S ripgrep fzf + 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 + sudo dnf groupinstall "X Software Development" + sudo dnf install -y fzf ripgrep } 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 + sudo emerge -avn sys-apps/ripgrep app-shells/fzf dev-python/neovim-remote virtual/jpeg sys-libs/zlib + 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" + [ "$(uname)" = "Darwin" ] && installonmac + grep -q Ubuntu /etc/os-release && installonubuntu + [ -f "/etc/arch-release" ] && installonarch + [ -f "/etc/artix-release" ] && installonarch + [ -f "/etc/fedora-release" ] && installonfedora + [ -f "/etc/gentoo-release" ] && installongentoo + [ "$(uname -s | cut -c 1-10)" = "MINGW64_NT" ] && echo "Windows not currently supported" } # Welcome echo 'Installing LunarVim' -if [[ $* == *--overwrite* ]]; then - echo '!!Warning!! -> Removing all nvim related config because of the --overwrite flag' - rm -rf "$HOME/.config/nvim" - rm -rf "$HOME/.cache/nvim" - rm -rf "$HOME/.local/share/nvim/site/pack/packer" -fi +case "$@" in +*--overwrite*) + echo '!!Warning!! -> Removing all lunarvim related config because of the --overwrite flag' + rm -rf "$HOME/.local/share/lunarvim" + rm -rf "$HOME/.cache/nvim" + rm -rf "$HOME/.config/lvim" + ;; +esac -# move old nvim directory if it exists -[ -d "$HOME/.config/nvim" ] && moveoldnvim +# move old lvim directory if it exists +[ -d "$HOME/.local/share/lunarvim" ] && moveoldlvim # install pip -which pip3 >/dev/null && echo "pip installed, moving on..." || asktoinstallpip +(command -v pip3 >/dev/null && echo "pip installed, moving on...") || asktoinstallpip # install node and neovim support -which node >/dev/null && echo "node installed, moving on..." || asktoinstallnode +(command -v node >/dev/null && echo "node installed, moving on...") || asktoinstallnode # install pynvim -pip3 list | grep pynvim >/dev/null && echo "pynvim installed, moving on..." || installpynvim +(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' +if [ -e "$HOME/.local/share/lunarvim/site/pack/packer/start/packer.nvim" ]; then + echo 'packer already installed' else - installpacker + installpacker fi -if [ -e "$HOME/.config/nvim/init.lua" ]; then - echo 'LunarVim already installed' +if [ -e "$HOME/.local/share/lunarvim/lvim/init.lua" ]; then + echo 'LunarVim already installed' else - # clone config down - cloneconfig - # echo 'export PATH=$HOME/.config/nvim/utils/bin:$PATH' >>~/.zshrc - # echo 'export PATH=$HOME/.config/lunarvim/utils/bin:$PATH' >>~/.bashrc + # clone config down + cloneconfig "$@" + # echo 'export PATH=$HOME/.config/nvim/utils/bin:$PATH' >>~/.zshrc + # echo 'export PATH=$HOME/.config/lunarvim/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" +if [ "$(uname)" != "Darwin" ]; then + if [ -e "$HOME/.local/share/applications/lvim.desktop" ]; then + echo 'Desktop file already available' + else + mkdir -p "$HOME/.local/share/applications" + cp "$HOME/.local/share/lunarvim/lvim/utils/desktop/lvim.desktop" "$HOME/.local/share/applications/lvim.desktop" + fi +fi +echo "I recommend you also install and activate a font from here: https://github.com/ryanoasis/nerd-fonts" # echo 'export PATH=/home/$USER/.config/lunarvim/utils/bin:$PATH appending to zshrc/bashrc' diff --git a/utils/installer/install_stylua.sh b/utils/installer/install_stylua.sh new file mode 100755 index 00000000..cd8b3942 --- /dev/null +++ b/utils/installer/install_stylua.sh @@ -0,0 +1,63 @@ +#!/usr/bin/env bash + +set -eu pipefall + +declare -r INSTALL_DIR="$PWD/utils" +declare -r RELEASE="0.10.0" +declare -r OS="linux" +# declare -r OS="$(uname -s)" +declare -r FILENAME="stylua-$RELEASE-$OS" + +declare -a __deps=("curl" "unzip") + +function check_deps() { + for dep in "${__deps[@]}"; do + if ! command -v "$dep" >/dev/null; then + echo "Missing depdendecy!" + echo "The \"$dep\" command was not found!. Please install and try again." + fi + done +} + +function download_stylua() { + local DOWNLOAD_DIR + local URL="https://github.com/JohnnyMorganz/StyLua/releases/download/v$RELEASE/$FILENAME.zip" + + DOWNLOAD_DIR="$(mktemp -d)" + echo "Initiating download for Stylua v$RELEASE" + if ! curl --progress-bar --fail -L "$URL" -o "$DOWNLOAD_DIR/$FILENAME.zip"; then + echo "Download failed. Check that the release/filename are correct." + exit 1 + fi + + echo "Installtion in progress.." + unzip -q "$DOWNLOAD_DIR/$FILENAME.zip" -d "$DOWNLOAD_DIR" + + if [ -f "$DOWNLOAD_DIR/stylua" ]; then + mv "$DOWNLOAD_DIR/stylua" "$INSTALL_DIR/stylua" + else + mv "$DOWNLOAD_DIR/$FILENAME/stylua" "$INSTALL_DIR/." + fi + + chmod u+x "$INSTALL_DIR/stylua" +} + +function verify_install() { + echo "Verifying installtion.." + local DOWNLOADED_VER + DOWNLOADED_VER="$("$INSTALL_DIR/stylua" -V | awk '{ print $2 }')" + if [ "$DOWNLOADED_VER" != "$RELEASE" ]; then + echo "Mismatched version!" + echo "Expected: v$RELEASE but got v$DOWNLOADED_VER" + exit 1 + fi + echo "Verification complete!" +} + +function main() { + check_deps + download_stylua + verify_install +} + +main "$@" diff --git a/utils/installer/lv-config.example-no-ts.lua b/utils/installer/lv-config.example-no-ts.lua index 33d9f433..ab12309d 100644 --- a/utils/installer/lv-config.example-no-ts.lua +++ b/utils/installer/lv-config.example-no-ts.lua @@ -1,58 +1,55 @@ ---[[ -O is the global options object - -Linters should be -filled in as strings with either -a global executable or a path to -an executable -]] -- THESE ARE EXAMPLE CONFIGS FEEL FREE TO CHANGE TO WHATEVER YOU WANT -- general +lvim.format_on_save = true +lvim.lint_on_save = true +lvim.colorscheme = "spacegray" -O.format_on_save = true -O.completion.autocomplete = true -O.colorscheme = "spacegray" -O.auto_close_tree = 0 -O.default_options.wrap = true -O.default_options.timeoutlen = 100 -O.leader_key = " " +-- keymappings +lvim.leader = "space" +-- overwrite the key-mappings provided by LunarVim for any mode, or leave it empty to keep them +-- lvim.keys.normal_mode = { +-- Page down/up +-- {'[d', '<PageUp>'}, +-- {']d', '<PageDown>'}, +-- +-- Navigate buffers +-- {'<Tab>', ':bnext<CR>'}, +-- {'<S-Tab>', ':bprevious<CR>'}, +-- } +-- if you just want to augment the existing ones then use the utility function +-- require("utils").add_keymap_insert_mode({ silent = true }, { +-- { "<C-s>", ":w<cr>" }, +-- { "<C-c>", "<ESC>" }, +-- }) +-- you can also use the native vim way directly +-- vim.api.nvim_set_keymap("i", "<C-Space>", "compe#complete()", { noremap = true, silent = true, expr = true }) -- TODO: User Config for predefined plugins -- After changing plugin config exit and reopen LunarVim, Run :PackerInstall :PackerCompile -O.plugin.dashboard.active = true -O.plugin.floatterm.active = true -O.plugin.zen.active = false -O.plugin.zen.window.height = 0.90 +lvim.builtin.dashboard.active = true +lvim.builtin.terminal.active = true +lvim.builtin.nvimtree.side = "left" +lvim.builtin.nvimtree.show_icons.git = 0 -- if you don't want all the parsers change this to a table of the ones you want -O.treesitter.ensure_installed = {} -O.treesitter.ignore_install = { "haskell" } -O.treesitter.highlight.enabled = true - --- python --- O.python.linter = 'flake8' -O.lang.python.isort = true -O.lang.python.diagnostics.virtual_text = true -O.lang.python.analysis.use_library_code_types = true --- to change default formatter from yapf to black --- O.lang.python.formatter.exe = "black" --- O.lang.python.formatter.args = {"-"} - --- go --- to change default formatter from gofmt to goimports --- O.lang.formatter.go.exe = "goimports" - --- javascript -O.lang.tsserver.linter = nil - --- latex --- O.lang.latex.auto_save = false --- O.lang.latex.ignore_errors = { } +lvim.builtin.treesitter.ensure_installed = {} +lvim.builtin.treesitter.ignore_install = { "haskell" } +lvim.builtin.treesitter.highlight.enabled = true +-- generic LSP settings +-- you can set a custom on_attach function that will be used for all the language servers +-- See <https://github.com/neovim/nvim-lspconfig#keybindings-and-completion> +-- lvim.lsp.on_attach_callback = function(client, bufnr) +-- local function buf_set_option(...) +-- vim.api.nvim_buf_set_option(bufnr, ...) +-- end +-- --Enable completion triggered by <c-x><c-o> +-- buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc") +-- end -- Additional Plugins --- O.user_plugins = { +-- lvim.plugins = { -- {"folke/tokyonight.nvim"}, { -- "ray-x/lsp_signature.nvim", -- config = function() require"lsp_signature".on_attach() end, @@ -61,13 +58,8 @@ O.lang.tsserver.linter = nil -- } -- Autocommands (https://neovim.io/doc/user/autocmd.html) --- O.user_autocommands = {{ "BufWinEnter", "*", "echo \"hi again\""}} +-- lvim.autocommands.custom_groups = { +-- { "BufWinEnter", "*.lua", "setlocal ts=8 sw=8" }, +-- } -- Additional Leader bindings for WhichKey --- O.user_which_key = { --- A = { --- name = "+Custom Leader Keys", --- a = { "<cmd>echo 'first custom command'<cr>", "Description for a" }, --- b = { "<cmd>echo 'second custom command'<cr>", "Description for b" }, --- }, --- } diff --git a/utils/installer/lv-config.example.lua b/utils/installer/lv-config.example.lua index 7072c60c..681f5f65 100644 --- a/utils/installer/lv-config.example.lua +++ b/utils/installer/lv-config.example.lua @@ -1,5 +1,5 @@ --[[ -O is the global options object +lvim is the global options object Linters should be filled in as strings with either @@ -10,54 +10,56 @@ an executable -- general -O.format_on_save = true -O.completion.autocomplete = true -O.colorscheme = "spacegray" -O.auto_close_tree = 0 -O.default_options.wrap = true -O.default_options.timeoutlen = 100 -O.leader_key = " " +lvim.format_on_save = true +lvim.lint_on_save = true +lvim.colorscheme = "spacegray" +-- keymappings +lvim.leader = "space" +-- overwrite the key-mappings provided by LunarVim for any mode, or leave it empty to keep them +-- lvim.keys.normal_mode = { +-- Page down/up +-- {'[d', '<PageUp>'}, +-- {']d', '<PageDown>'}, +-- +-- Navigate buffers +-- {'<Tab>', ':bnext<CR>'}, +-- {'<S-Tab>', ':bprevious<CR>'}, +-- } +-- if you just want to augment the existing ones then use the utility function +-- require("utils").add_keymap_insert_mode({ silent = true }, { +-- { "<C-s>", ":w<cr>" }, +-- { "<C-c>", "<ESC>" }, +-- }) +-- you can also use the native vim way directly +-- vim.api.nvim_set_keymap("i", "<C-Space>", "compe#complete()", { noremap = true, silent = true, expr = true }) -- TODO: User Config for predefined plugins -- After changing plugin config exit and reopen LunarVim, Run :PackerInstall :PackerCompile -O.plugin.dashboard.active = true -O.plugin.floatterm.active = true -O.plugin.zen.active = false -O.plugin.zen.window.height = 0.90 +lvim.builtin.dashboard.active = true +lvim.builtin.terminal.active = true +lvim.builtin.nvimtree.side = "left" +lvim.builtin.nvimtree.show_icons.git = 0 -- if you don't want all the parsers change this to a table of the ones you want -O.treesitter.ensure_installed = "maintained" -O.treesitter.ignore_install = { "haskell" } -O.treesitter.highlight.enabled = true - --- python --- O.lang.python.linter = 'flake8' -O.lang.python.isort = true -O.lang.python.diagnostics.virtual_text = true -O.lang.python.analysis.use_library_code_types = true --- to change default formatter from yapf to black --- O.lang.python.formatter.exe = "black" --- O.lang.python.formatter.args = {"-"} - --- go --- to change default formatter from gofmt to goimports --- O.lang.formatter.go.exe = "goimports" +lvim.builtin.treesitter.ensure_installed = "maintained" +lvim.builtin.treesitter.ignore_install = { "haskell" } +lvim.builtin.treesitter.highlight.enabled = true --- javascript -O.lang.tsserver.linter = nil +-- generic LSP settings +-- you can set a custom on_attach function that will be used for all the language servers +-- See <https://github.com/neovim/nvim-lspconfig#keybindings-and-completion> +-- lvim.lsp.on_attach_callback = function(client, bufnr) +-- local function buf_set_option(...) +-- vim.api.nvim_buf_set_option(bufnr, ...) +-- end +-- --Enable completion triggered by <c-x><c-o> +-- buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc") +-- end --- rust --- O.lang.rust.formatter = { --- exe = "rustfmt", --- args = {"--emit=stdout", "--edition=2018"}, --- } - --- latex --- O.lang.latex.auto_save = false --- O.lang.latex.ignore_errors = { } +-- python -- Additional Plugins --- O.user_plugins = { +-- lvim.plugins = { -- {"folke/tokyonight.nvim"}, { -- "ray-x/lsp_signature.nvim", -- config = function() require"lsp_signature".on_attach() end, @@ -66,13 +68,18 @@ O.lang.tsserver.linter = nil -- } -- Autocommands (https://neovim.io/doc/user/autocmd.html) --- O.user_autocommands = {{ "BufWinEnter", "*", "echo \"hi again\""}} +-- lvim.autocommands.custom_groups = { +-- { "BufWinEnter", "*.lua", "setlocal ts=8 sw=8" }, +-- } -- Additional Leader bindings for WhichKey --- O.user_which_key = { --- A = { --- name = "+Custom Leader Keys", --- a = { "<cmd>echo 'first custom command'<cr>", "Description for a" }, --- b = { "<cmd>echo 'second custom command'<cr>", "Description for b" }, --- }, +-- lvim.builtin.which_key.mappings["P"] = { "<cmd>lua require'telescope'.extensions.project.project{}<CR>", "Projects" } +-- lvim.builtin.which_key.mappings["t"] = { +-- name = "+Trouble", +-- r = { "<cmd>Trouble lsp_references<cr>", "References" }, +-- f = { "<cmd>Trouble lsp_definitions<cr>", "Definitions" }, +-- d = { "<cmd>Trouble lsp_document_diagnostics<cr>", "Diagnosticss" }, +-- q = { "<cmd>Trouble quickfix<cr>", "QuickFix" }, +-- l = { "<cmd>Trouble loclist<cr>", "LocationList" }, +-- w = { "<cmd>Trouble lsp_workspace_diagnostics<cr>", "Diagnosticss" }, -- } diff --git a/utils/installer/uninstall.sh b/utils/installer/uninstall.sh new file mode 100755 index 00000000..0615e219 --- /dev/null +++ b/utils/installer/uninstall.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +rm -rf ~/.local/share/lunarvim +sudo rm /usr/local/bin/lvim +rm -rf ~/.local/share/applications/lvim.desktop |