Commit graph

329 commits

Author SHA1 Message Date
Daniel Siepmann 2dae9f5813
Update neovim plugin todo after reviewing all nixpkgs vim plugins
Also read some other sites
2022-03-17 08:04:13 +01:00
Daniel Siepmann 8448e85bb1
Add xmllint via ale to neovim
Maintain all dependencies via nix / home-manager.
Load xsd schema file.
Define nix xmllint for linting.
2022-03-16 17:12:48 +01:00
Daniel Siepmann 7d333c703b
Streamline omnifunc for php
use same as for vim
2022-03-16 16:54:46 +01:00
Daniel Siepmann 565540611b
Add vim language server 2022-03-16 16:54:23 +01:00
Daniel Siepmann 42f9578ef6
Use nix php when starting phpactor language server 2022-03-16 16:53:46 +01:00
Daniel Siepmann ab062b61d4
No need to learn lua yet 2022-03-16 16:53:12 +01:00
Daniel Siepmann 7bb2b2921e
Show neovim omnifunc completion also for single item
In order to allow to select the item.
2022-03-16 16:52:47 +01:00
Daniel Siepmann 02437cefba
Configure Neovim completion
Still use menu like default.
Do not show preview as in default.
Do not insert as in default.
Do not select as in default.

This allows me to see suggestions but continue typing to narrow down.
Also allows me to manually select a result.

That way completion is out of my way but there to support me.
2022-03-16 16:25:06 +01:00
Daniel Siepmann c8b487c3fd
Remove todo Neovim plugin telescope can already do this 2022-03-16 16:03:31 +01:00
Daniel Siepmann 3269d15f1d
Extend neovim telescope tags with sql
Also add alphabetical sorting of configuration keys.
2022-03-16 15:38:49 +01:00
Daniel Siepmann e653973ab5
Remove todo neovim plugin trouble
telescope can already show them
2022-03-16 15:15:47 +01:00
Daniel Siepmann 9d4f19af6f
Remove already done todo 2022-03-16 15:15:31 +01:00
Daniel Siepmann 668882522b
Do only list tracked files by default via telescope in neovim 2022-03-16 15:15:17 +01:00
Daniel Siepmann 40cef5b623
Add LSP basics (PHP)
Add for PHP via existing phpactor as server.
Use new signature plugin for proper none irritating inline help during
function calls.

TODO: Get rid of preview window showing up …
2022-03-16 14:46:12 +01:00
Daniel Siepmann a842f100b0
Add todos for lua programming language 2022-03-16 14:45:36 +01:00
Daniel Siepmann 0d4f5463d1
Migrate Leaderf to Telescope
Written in Lua.
Very flexible.
Clean documentation.
Easy to extend and configure.
Can do everything I wanted with a good feeling.
2022-03-16 14:44:49 +01:00
Daniel Siepmann e29ceb3b66
Optimize colors of leaderf Neovim plugin 2022-03-16 12:44:20 +01:00
Daniel Siepmann 1991be3686
Remove todo for fzf as I'm now switched to leaderf 2022-03-16 10:17:44 +01:00
Daniel Siepmann 42c78c694d
Cleanup leaderf configuration 2022-03-16 10:17:38 +01:00
Daniel Siepmann 51cb2c9ad3
Migrate Neovim CtrlP to FinderF
Way faster and matches my own preferences. Has a preview and pop up in
the center of the screen.
Comes with many other modes like colorscheme, help, line, etc.
diff --git a/home/programs/neovim.nix b/home/programs/neovim.nix
index 55783de..dda525c 100644
--- a/home/programs/neovim.nix
+++ b/home/programs/neovim.nix
@@ -239,8 +239,8 @@ in {
     }

     {
-      plugin = ctrlp-vim;
-      config = pkgs.lib.fileContents ./neovim/plugins/ctrlp.vim;
+      plugin = LeaderF;
+      config = pkgs.lib.fileContents ./neovim/plugins/leaderf.vim;
     }

     # Syntax
diff --git a/home/programs/neovim/config/functions.vim b/home/programs/neovim/config/functions.vim
index 24e0c00..fea577b 100644
--- a/home/programs/neovim/config/functions.vim
+++ b/home/programs/neovim/config/functions.vim
@@ -113,7 +113,7 @@ function! StartProfiling()
     execute(':profile file *')
 endfunc

-function! CtrlPCurrentComposerPackage()
+function! LeaderfCurrentComposerPackage()
     let l:filePath = split(expand('%:p:h'), '/')

     while !filereadable('/' . join(l:filePath + ['composer.json'], '/')) && len(l:filePath)
@@ -121,7 +121,7 @@ function! CtrlPCurrentComposerPackage()
     endwhile

     if len(l:filePath)
-        execute(':CtrlP /' . join(l:filePath, '/'))
+        execute(':LeaderfFile /' . join(l:filePath, '/'))
     else
         echom 'No composer package detected.'
     endif
diff --git a/home/programs/neovim/config/mappings.vim b/home/programs/neovim/config/mappings.vim
index bd3aee9..7b7ad7d 100644
--- a/home/programs/neovim/config/mappings.vim
+++ b/home/programs/neovim/config/mappings.vim
@@ -10,10 +10,11 @@ nnoremap <leader>v :set paste!<cr>
 nnoremap <leader>nh :nohlsearch<cr>

 " Configure navigation, e.g. go to buffer, file, ...
-nnoremap <leader>p :CtrlP<cr>
-nnoremap <leader>l :CtrlPBuffer<cr>
-nnoremap <leader>r :CtrlPBufTag<cr>
-nnoremap <silent> <leader>c :call CtrlPCurrentComposerPackage()<cr>
+nnoremap <leader>pp :LeaderfSelf<cr>
+nnoremap <leader>pf :LeaderfFile<cr>
+nnoremap <leader>pb :LeaderfBuffer<cr>
+nnoremap <leader>pt :LeaderfBufTag<cr>
+nnoremap <silent> <leader>pc :call LeaderfCurrentComposerPackage()<cr>

 nnoremap <leader>k :NERDTreeToggle<cr>
 nnoremap <leader>f :NERDTreeFind<cr>
diff --git a/home/programs/neovim/plugins/ctrlp.vim b/home/programs/neovim/plugins/ctrlp.vim
deleted file mode 100644
index c45b87e..0000000
--- a/home/programs/neovim/plugins/ctrlp.vim
+++ /dev/null
@@ -1,26 +0,0 @@
-let g:ctrlp_follow_symlinks = 2
-" Default to regex mode
-let g:ctrlp_regexp = 1
-let g:ctrlp_match_window = 'top,order:ttb,min:1,max:10'
-" let g:ctrlp_open_new_file = '0'
-" let g:ctrlp_lazy_update = 1
-let g:ctrlp_show_hidden = 1
-
-let g:ctrlp_types = ['fil', 'buf', 'buftag']
-
-let g:ctrlp_working_path_mode = 'w'
-let g:ctrlp_max_files = 0
-let g:ctrlp_clear_cache_on_exit = 0
-
-" Configure completion for tags in buffer,
-" e.g. configure which kinds to complete for css.
-let g:ctrlp_buftag_types = {
-  \ 'css' : '--css-types=vcit',
-  \ 'typescript' : '--typescript-types=cnfvmitesod',
-  \ 'xml' : '--xml-types=ci',
-  \ 'rst' : '--reStructuredText-types=csSt',
-  \ 'markdown' : '--Markdown-types=csStT',
-  \ 'fluid' : '--xml-types=si',
-  \ 'apache' : '--apache-types=s',
-  \ 'yaml' : '--yaml-types=t',
-\ }
diff --git a/home/programs/neovim/plugins/leaderf.vim b/home/programs/neovim/plugins/leaderf.vim
new file mode 100644
index 0000000..7627b07
--- /dev/null
+++ b/home/programs/neovim/plugins/leaderf.vim
@@ -0,0 +1,213 @@
+let g:Lf_WorkingDirectoryMode = 'c'
+
+let g:Lf_FollowLinks = 1
+let g:Lf_ShowHidden = 1
+
+let g:Lf_WindowPosition = 'popup'
+let g:Lf_HideHelp = 1
+
+let g:Lf_GtagsAutoUpdate = 0
+
+let g:Lf_IgnoreCurrentBufferName = 1
+
+let g:Lf_ShowDevIcons = 0
+
+" TODO: Try to port to existing colorscheme, does it work with load order?
+let g:Lf_PopupPalette = {
+    \  'dark': {
+    \   'Lf_hl_popup_inputText': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'blue',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_window': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_blank': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_cursor': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_prompt': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_spin': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_normalMode': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_inputMode': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_category': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_nameOnlyMode': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_fullPathMode': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_fuzzyMode': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_regexMode': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_cwd': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_lineInfo': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_total': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_cursorline': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': '235',
+    \   },
+    \   'Lf_hl_selection': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_match0': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'blue',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_match1': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'blue',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_match2': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'blue',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_match3': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'blue',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_match4': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'blue',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_match': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'blue',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_lineLocation': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_previewTitle': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_winNumber': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_winIndicators': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_winModified': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_winNomodifiable': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_winDirname': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_quickfixFileName': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_quickfixLineNumber': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_quickfixColumnNumber': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_loclistFileName': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_loclistLineNumber': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_loclistColumnNumber': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \  }
+    \ }
+
+let g:Lf_PreviewInPopup = 1
+let g:Lf_PreviewHorizontalPosition = 'center'
+let g:Lf_PreviewCode = 0
+let g:Lf_PreviewResult = {
+    \ 'File': 1,
+    \ 'Buffer': 1,
+    \ 'BufTag': 1,
+    \}
2022-03-16 09:05:13 +01:00
Daniel Siepmann 3bf0d66f3b
Add inline todos with new plugins and programs to try 2022-03-16 09:04:03 +01:00
Daniel Siepmann 47c3440be6
Add Neovim syntax of i3 config 2022-03-16 09:03:51 +01:00
Daniel Siepmann 3131d57d46
Fix neovim terminal within tmux 2022-03-16 09:03:31 +01:00
Daniel Siepmann 271758a453
Update Neovim colorscheme 2022-03-16 09:03:19 +01:00
Daniel Siepmann 551153f446
Do note use paratest in Neovim plugin vim-test
Remove the paratest detection.
I consider paratest only for CI and executing a huge set of tests.
But I use vim-test only to execute a single test file or single test.
2022-03-15 17:29:34 +01:00
Daniel Siepmann f4b39fe17c
Do not show Neovim Ctrlp mru
I just don't use this feature.
2022-03-15 10:27:44 +01:00
Daniel Siepmann 269b15cc30
Allow Neovim Ctrlp to search only files in current composer package 2022-03-15 10:25:04 +01:00
Daniel Siepmann 51ca95129d
Adjust SAC indentation of xliff files 2022-03-15 09:57:03 +01:00
Daniel Siepmann 1a61b2b103
Optimize Neovim plugin ctrlp file selection
Do not clear cache on exit. I'm working on huge projects and want a fast
file navigation.
Do not limit number of files as default is already way to low for the
large projects I'm working on.
2022-03-15 09:09:05 +01:00
Daniel Siepmann 4b825bf453
Add Neovim syntax mustache
Customer sac is using handlebars template which have same syntax.
2022-03-15 09:08:32 +01:00
Daniel Siepmann 82e29fb63e
Add some comments to neovim setup 2022-03-15 08:41:41 +01:00
Daniel Siepmann 9e5a77f592
Migrate Neovim snippets to inline configuration
Same as with configuration.
No need for extra repository.
2022-03-15 08:16:18 +01:00
Daniel Siepmann 2a55b8e6fd
Adjust Neovim sql comment
Use TYPO3 default "#" instead of "--".
I nearly exclusively write SQL comments within TYPO3 sql files.
2022-03-15 08:10:54 +01:00
Daniel Siepmann 8541b19663
Adjust neovim configuration for sac customer 2022-03-15 08:01:46 +01:00
Daniel Siepmann 7106b7cac7
Add neovim configuration inline instead of another repository
This eases maintenance as I don't need to commit and push one repo, and
update rev and sha in here.
Instead I can just change configuration and run home-manager switch.
2022-03-15 08:00:46 +01:00
Daniel Siepmann bbaa8830c3
Remove custom grepping from neovim
I'm using plugin ag already.
2022-03-14 16:33:59 +01:00
Daniel Siepmann a683442f90
Remove neovim plugin syntastic
I'm using ale for such a long time already …
2022-03-14 16:31:57 +01:00
Daniel Siepmann a4f46efb9a
Update neovim ale plugin settings 2022-03-14 16:29:19 +01:00
Daniel Siepmann 628f9acae9
Adjust cmus preferences
Do not follow currently played track. Keep view as manually set.
Do not enable repeat by default.
2022-03-14 13:02:26 +01:00
Daniel Siepmann e59fc32ff0
Import pkgs.vimPlugins to shorten plugin definitions 2022-03-14 10:43:50 +01:00
Daniel Siepmann 5a72a2a648
Allow vim sqlformat to work
Add necessary python package which is used by the plugin.
2022-03-14 10:43:26 +01:00
Daniel Siepmann 3b8e4e757f
Use native vim plugin ctrlp file searching
This respects wildignore and removes need for custom grep command.
2022-03-14 09:47:01 +01:00
Daniel Siepmann 98f4e5c3bb
Adjust vim plugin snipMate snippet_version
Keep old version 0, as no snippet was migrated yet.
Need to migrate them prior usage of version 1.
2022-03-14 09:46:26 +01:00
Daniel Siepmann b02993e69e
Adjust Firefox content blocking
Set to level 2 block list. Blocks all detected trackers.
2022-03-14 09:45:22 +01:00
Daniel Siepmann 082ad58af1
Migrate neovim setup
I managed my setup manually.
This commit ports the existing setup to home-manager.

The program module is used to install neovim together with plugins.
Custom plugins are now maintained at Gitea / GitHub and loaded via nix as well.
2022-03-12 11:26:32 +01:00
Daniel Siepmann 7c47df37fc
Fix broken ctags configuration location
Place ctags configuration in expected location.
It wasn't loaded due to wrong location.
Do not add typescript as I'm not using typescript anymore on a
professional level.
2022-03-12 11:03:59 +01:00
Daniel Siepmann fb03129a0a
Improve xdg desktop situation
Do not install package which won't work anyway.
Get out of the way for existing apt installed version.
Symlink whole applications folder to not update after each run.
2022-03-11 11:50:38 +01:00
Daniel Siepmann b3fa907571
Fix typo in comment 2022-03-11 11:40:32 +01:00
Daniel Siepmann 4919105362
Migrate web apps to nix setup
Create dedicated xdg desktopEntries to start web apps.
Use chromium where necessary, e.g. due to audio / video experiences.

Start web apps with dedicated Firefox profiles.
Configure those profiles to hide any UI to have an actual app feeling.
2022-03-11 09:52:43 +01:00
Daniel Siepmann a0b6cf5ec9
Add chromium
Necessary for some web apps …
Previously installed via apt.

Add chromedriver for locally acceptance tests.
2022-03-10 17:27:04 +01:00