From 5beccc1d4b3a1c8336df7cdeb912dbe1fcc3063e Mon Sep 17 00:00:00 2001 From: Jordan Orelli Date: Mon, 9 Jan 2023 20:46:45 -0600 Subject: [PATCH] this might actually work on windows --- .vimrc | 114 ++++++++++++++++++++++++------------------ config.ini | 3 +- installer/__init__.py | 5 +- nvim/init.vim | 26 +++------- 4 files changed, 77 insertions(+), 71 deletions(-) diff --git a/.vimrc b/.vimrc index dbaf145..23b75bc 100644 --- a/.vimrc +++ b/.vimrc @@ -1,59 +1,70 @@ set nocompatible +map :source $MYVIMRC + " Plugins -------------------------------------------------------------------{{{ " set the runtime path to include Vundle and initialize -if !has('nvim') +if has('nvim') && has('win32') + set rtp+=~/AppData/Local/nvim/bundle/Vundle.vim +else set rtp+=~/.vim/bundle/Vundle.vim - call vundle#begin() - " let Vundle manage Vundle, required - Plugin 'VundleVim/Vundle.vim' - - Plugin 'dense-analysis/ale' " asynchronous linting engine - Plugin 'tpope/vim-fugitive' " integration with the git cli - Plugin 'tpope/vim-surround' " edits surrounding quotes and parens and the like - Plugin 'tpope/vim-rails' " rails project management stuff - Plugin 'tpope/vim-repeat' " fixes the . key for ...something - " Plugin 'airblade/vim-gitgutter' " in-file git integration - Plugin 'mhinz/vim-signify' - Plugin 'slim-template/vim-slim' " what in the 2008 is this - Plugin 'kchmck/vim-coffee-script' " lol coffee script - Plugin 'fatih/vim-go' " all-in-one Go tools - Plugin 'fatih/vim-hclfmt' " nicely formats hcl files - Plugin 'nanotech/jellybeans.vim' " the best colorscheme - Plugin 'ervandew/supertab' " makes tab better apparently - Plugin 'scrooloose/nerdcommenter' " no idea if I'm even using this - Plugin 'scrooloose/nerdtree' " better file navigation - Plugin 'Align' " aligns things on demand - Plugin 'tomtom/tlib_vim' " dependency of flashdevelop - Plugin 'endel/flashdevelop.vim' " this is probably old now - Plugin 'ctrlpvim/ctrlp.vim' " don't actually know how to use this honestly - Plugin 'itchyny/lightline.vim' " fancy status line - Plugin 'heavenshell/vim-jsdoc' " js docs? - Plugin 'hashivim/vim-terraform' " hclfmt but for terraform - Plugin 'b4b4r07/vim-hcl' " hcl syntax stuff? - Plugin 'Glench/Vim-Jinja2-Syntax' " jinja2 syntax stuff - Plugin 'rust-lang/rust.vim' " bare minimum rust syntax stuff - Plugin 'elubow/cql-vim' - - " Past plugins - " - " Seems to break NERDTree. I dunno why. Kinda problematic since it's - " intended to improve NERDTree. - " Plugin 'Xuyuanp/nerdtree-git-plugin' - " - " Still figuring this one out. I think I hate it? - " Plugin 'neoclide/coc.nvim' - " - " this repo is gone - " Plugin 'calviken/vim-gdscript3' - " - " I'm trying ALE instead - " Plugin 'ycm-core/YouCompleteMe' - " Plugin 'prabirshrestha/vim-lsp' - " Plugin 'mattn/vim-lsp-settings' - call vundle#end() " required endif +" allegedly this needs to be off to load Vundle +filetype off + +call vundle#begin() + " let Vundle manage Vundle, required + Plugin 'VundleVim/Vundle.vim' + + if !has('nvim') + Plugin 'dense-analysis/ale' " asynchronous linting engine + endif + + Plugin 'tpope/vim-fugitive' " integration with the git cli + Plugin 'tpope/vim-surround' " edits surrounding quotes and parens and the like + Plugin 'tpope/vim-rails' " rails project management stuff + Plugin 'tpope/vim-repeat' " fixes the . key for ...something + " Plugin 'airblade/vim-gitgutter' " in-file git integration + Plugin 'mhinz/vim-signify' + Plugin 'slim-template/vim-slim' " what in the 2008 is this + Plugin 'kchmck/vim-coffee-script' " lol coffee script + Plugin 'fatih/vim-go' " all-in-one Go tools + Plugin 'fatih/vim-hclfmt' " nicely formats hcl files + Plugin 'nanotech/jellybeans.vim' " the best colorscheme + Plugin 'ervandew/supertab' " makes tab better apparently + Plugin 'scrooloose/nerdcommenter' " no idea if I'm even using this + Plugin 'scrooloose/nerdtree' " better file navigation + Plugin 'Align' " aligns things on demand + Plugin 'tomtom/tlib_vim' " dependency of flashdevelop + Plugin 'endel/flashdevelop.vim' " this is probably old now + Plugin 'ctrlpvim/ctrlp.vim' " don't actually know how to use this honestly + Plugin 'itchyny/lightline.vim' " fancy status line + Plugin 'heavenshell/vim-jsdoc' " js docs? + Plugin 'hashivim/vim-terraform' " hclfmt but for terraform + Plugin 'b4b4r07/vim-hcl' " hcl syntax stuff? + Plugin 'Glench/Vim-Jinja2-Syntax' " jinja2 syntax stuff + Plugin 'rust-lang/rust.vim' " bare minimum rust syntax stuff + Plugin 'elubow/cql-vim' + + " Past plugins + " + " Seems to break NERDTree. I dunno why. Kinda problematic since it's + " intended to improve NERDTree. + " Plugin 'Xuyuanp/nerdtree-git-plugin' + " + " Still figuring this one out. I think I hate it? + " Plugin 'neoclide/coc.nvim' + " + " this repo is gone + " Plugin 'calviken/vim-gdscript3' + " + " I'm trying ALE instead + " Plugin 'ycm-core/YouCompleteMe' + " Plugin 'prabirshrestha/vim-lsp' + " Plugin 'mattn/vim-lsp-settings' +call vundle#end() " required + " enable the filetype plugin filetype plugin indent on " ---------------------------------------------------------------------------}}} @@ -557,3 +568,8 @@ if executable(s:clip) endif " ---------------------------------------------------------------------------}}} +" Neovim Stuff --------------------------------------------------------------{{{ +if has('nvim') + set guifont=Cascadia\ Mono:h12 +endif +" ---------------------------------------------------------------------------}}} diff --git a/config.ini b/config.ini index d4ffe37..e472de6 100644 --- a/config.ini +++ b/config.ini @@ -23,5 +23,6 @@ nvim/init.vim=.config/nvim/init.vim # items in the map.windows section defines a place where config files will be # placed on windows, relative to the user's home directory [map.windows] -nvim/init.vim=AppData/Local/nvim/init.vim +.vimrc=AppData/Local/nvim/init.vim Vundle.vim=AppData/Local/nvim/bundle/Vundle.vim +.vim/ftplugin=AppData/Local/nvim/ftplugin diff --git a/installer/__init__.py b/installer/__init__.py index c0a1552..afc82c3 100644 --- a/installer/__init__.py +++ b/installer/__init__.py @@ -8,6 +8,7 @@ import os import pathlib import platform import subprocess +import sys import shutil from functools import cached_property @@ -29,7 +30,7 @@ class Installer: """ if host.is_windows and not host.is_admin: print("You are not admin: admin is required on Windows") - os.exit(1) + sys.exit(1) print("linking in home files") home = self.options.config['home'] @@ -52,7 +53,7 @@ class Installer: defines all of the places where preferences files will be installed """ if host.is_linux: - return [targets.Linux(), targets.WSLHost()] + return [targets.Linux()] if host.is_windows: return [targets.Windows()] diff --git a/nvim/init.vim b/nvim/init.vim index f409f33..86e1c57 100644 --- a/nvim/init.vim +++ b/nvim/init.vim @@ -1,34 +1,22 @@ set nocompatible -filetype off +map :source $MYVIMRC +" Plugins -------------------------------------------------------------------{{{ +" set the runtime path to include Vundle and initialize if has('win32') set rtp+=~/AppData/Local/nvim/bundle/Vundle.vim else - " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim endif +filetype off call vundle#begin() - " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' - Plugin 'tpope/vim-fugitive' " integration with the git cli - Plugin 'tpope/vim-surround' " edits surrounding quotes and parens and the like - Plugin 'mhinz/vim-signify' - Plugin 'fatih/vim-go' " all-in-one Go tools - Plugin 'fatih/vim-hclfmt' " nicely formats hcl files - Plugin 'nanotech/jellybeans.vim' " the best colorscheme - Plugin 'ervandew/supertab' " makes tab better apparently - Plugin 'scrooloose/nerdcommenter' " no idea if I'm even using this - Plugin 'scrooloose/nerdtree' " better file navigation - Plugin 'Align' " aligns things on demand + Plugin 'nanotech/jellybeans.vim' Plugin 'itchyny/lightline.vim' " fancy status line - Plugin 'hashivim/vim-terraform' " hclfmt but for terraform - Plugin 'Glench/Vim-Jinja2-Syntax' " jinja2 syntax stuff - Plugin 'rust-lang/rust.vim' " bare minimum rust syntax stuff call vundle#end() -set runtimepath^=~/.vim runtimepath+=~/.vim/after -let &packpath = &runtimepath +" enable the filetype plugin filetype plugin indent on -source ~/.vimrc +" ---------------------------------------------------------------------------}}}