Compare commits

..

158 Commits

Author SHA1 Message Date
Yannick Reiß 3db17f9849 Update
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled Details
2025-07-31 08:57:16 +02:00
Yannick Reiß 8564daf4b5 Create nix interpreter output
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled Details
2025-07-17 16:42:07 +02:00
Yannick Reiß f19f71c182 Markdown preview
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled Details
2025-07-15 16:17:23 +02:00
Yannick Reiß 084fff8e1a Cyberdream
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled Details
2025-07-10 15:06:16 +02:00
Yannick Reiß 82226b4f78 Add lean snippets and do Neovide
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled Details
2025-07-08 19:59:46 +02:00
Yannick Reiß c4c65c4e65 Merge branch 'master' of git.nickr.eu:yannickreiss/nvim
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled Details
2025-06-25 17:28:22 +02:00
Yannick Reiß 8ecfde7ce1 Add spark wiki to config 2025-06-25 17:28:15 +02:00
Nick 437ce3ff2e Resolve merge conflicts
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled Details
2025-06-24 14:58:18 +02:00
Nick 4ad4a777f6 Add mail snippet to glob
ab
2025-06-24 14:56:19 +02:00
Yannick Reiß 7daedc0b31 Ada proofs
Test Neovim config on push / build (ubuntu-20.04) (push) Waiting to run Details
2025-06-24 09:13:12 +02:00
Yannick Reiß 5ee0540a2e Prove framework
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled Details
2025-06-15 14:53:46 +02:00
Yannick Reiß 41ec16380b Add function to prove ada/Spark code
Test Neovim config on push / build (ubuntu-20.04) (push) Waiting to run Details
2025-06-14 23:23:28 +02:00
Yannick Reiß d79f1fd6d4 Ada mode update
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled Details
2025-06-11 14:43:13 +02:00
Yannick Reiß 742e6f614a Remove unused features from config
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled Details
2025-05-22 08:44:07 +02:00
Yannick Reiß 730ec3b4bd Change default from rel to abs number
Test Neovim config on push / build (ubuntu-20.04) (push) Waiting to run Details
2025-05-21 22:36:30 +02:00
Yannick Reiß 1234f9bd4c Update
Test Neovim config on push / build (ubuntu-20.04) (push) Waiting to run Details
2025-05-21 18:48:17 +02:00
Yannick Reiß 12a3293fff Remove lazy lock from repo
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 28s Details
2025-03-31 10:00:34 +02:00
Yannick Reiß e26dfea84f Add lazy lock to ignored files 2025-03-31 09:59:58 +02:00
Yannick Reiß 2d0a74ed82 Change layout style of completion menu 2025-03-31 09:59:19 +02:00
Yannick Reiß 8e09bfd6b7 Remove autoformat 2025-03-31 09:58:29 +02:00
Yannick Reiß 9da04ad7e8 No ensure installed lsps
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 19s Details
2025-03-28 07:47:55 +01:00
Yannick Reiß c91101470c Change default colorscheme
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 27s Details
2025-03-27 11:33:35 +01:00
Yannick Reiß b11d36ba16 Snippets
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 26s Details
2025-03-25 08:52:24 +01:00
Yannick Reiß 67eaafaee9 Add ignore
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 28s Details
2025-03-18 11:32:00 +01:00
Yannick Reiß a02cf6a902 Mail client
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 21s Details
2025-03-18 11:05:20 +01:00
Yannick Reiß ae06236c2c Add mail client to nvim
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 31s Details
2025-03-18 11:01:38 +01:00
Yannick Reiß 339d5b1197 add password file to gitignore
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled Details
2025-03-18 11:01:17 +01:00
Yannick Reiß 06c098c194 Python updates
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 52s Details
2025-03-15 19:19:36 +01:00
Yannick Reiß 886d434849 Adjust Ada snippets to styleguide
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 27s Details
2025-02-24 07:37:01 +01:00
Yannick Reiß cca29ca695 Spell
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 22s Details
2025-02-04 07:59:33 +01:00
Yannick Reiß f4909335c1 Set ada configuration file dynamically on startup
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 24s Details
2025-02-04 07:26:10 +01:00
Yannick Reiß c8be7d19a7 Change some defaults and the completion window looks
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 30s Details
2025-02-03 15:00:49 +01:00
Yannick Reiß 443a0cb897 Spell check
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 21s Details
2025-02-01 07:17:01 +01:00
Yannick Reiß 5b1d0d66de Add ada mode
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 31s Details
2025-01-24 21:41:28 +01:00
Yannick Reiß 59dc3784af Add screenkey mapping
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 29s Details
2024-12-27 16:09:30 +01:00
Yannick Reiß 8cee1dc880 Ada mode
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 1m0s Details
2024-12-19 10:37:14 +01:00
Yannick Reiß af28c12ea7 Add screenkey
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 1m0s Details
2024-12-19 08:58:04 +01:00
Yannick Reiß 4aa297662c Show key plugin
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 27s Details
2024-12-19 08:44:13 +01:00
Yannick Reiß fb0655896c Remove which-key, much to annoying 2024-12-18 12:22:11 +01:00
Yannick Reiß 298e80f221 Add pascal snippets
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 25s Details
2024-12-18 09:29:02 +01:00
Yannick Reiß 35da498b9b Add which key for testing 2024-12-18 09:28:38 +01:00
Yannick Reiß 2836ff63e3 A very nice procedure snippet for pascal
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 52s Details
2024-12-12 09:47:32 +01:00
Yannick Reiß 6e48879ffa Disable pascal formatter.
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 33s Details
2024-12-12 06:18:24 +01:00
Yannick Reiß e5aa6d7012 Update nvim
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 28s Details
2024-11-26 19:08:52 +01:00
Yannick Reiß d63a431242 Add high contrast theme
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 1m39s Details
2024-11-01 10:00:14 +01:00
Yannick Reiß deda105b50 Add VHDL formatter
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 1m41s Details
2024-10-09 10:00:30 +02:00
Yannick Reiß cfa581bf05 LSP configuration for LaTeX
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 41s Details
2024-10-09 09:08:49 +02:00
Yannick Reiß c0ad357563 Remove Ada language server
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 2m16s Details
2024-10-08 11:10:52 +02:00
Yannick Reiß 3217a4456c Update Mason packages
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 2m39s Details
2024-10-08 11:01:27 +02:00
Yannick Reiß 4357a36235 Autosetup lsp servers 2024-10-08 10:49:48 +02:00
Yannick Reiß 01359aca3c Ensure installed packages
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 34s Details
2024-10-08 10:25:44 +02:00
Yannick Reiß 2d7c2974ef Syntax feature upgrade for ada snippets
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 2m47s Details
2024-10-08 10:07:59 +02:00
Yannick Reiß 02c752a943 Use fourmolu as Haskell formatter and fixer 2024-10-08 10:07:17 +02:00
Yannick Reiß 8cb88ec054 Formatter update
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 29s Details
2024-10-07 08:19:18 +02:00
Yannick Reiß 5f931de4cc Ada snippet update 2024-10-07 08:19:07 +02:00
Yannick Reiß af4b80906f Disable ada mode
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 2m8s Details
2024-10-07 07:55:16 +02:00
Yannick Reiß cc1a7c9311 Add ada formatting
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 1m24s Details
2024-10-07 07:46:40 +02:00
Yannick Reiß 99e59d66e3 Add A,B:Type Syntax to Ultisnips function snippet 2024-10-07 07:46:25 +02:00
Yannick Reiß f9ae3dfe99 Format with 4 spaces of indentation
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 21s Details
2024-10-01 17:34:54 +02:00
Yannick Reiß c2705d1f1e Delete empty configuration file
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 35s Details
2024-10-01 17:27:14 +02:00
Yannick Reiß 739d439946 Don't fix on save => not all fixed wanted 2024-10-01 17:26:46 +02:00
Yannick Reiß 10ca92d206 Disable spell checking in pascal files
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 52s Details
2024-10-01 17:01:41 +02:00
Yannick Reiß 561cdf5d2d Merge branch 'master' of git.nickr.eu:yannickreiss/nvim
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 30s Details
2024-09-24 05:41:49 +02:00
Yannick Reiß b8c5c86010 bypass reloading error when using pascal formatter 2024-09-24 05:41:41 +02:00
Yannick Reiß ad4c99c1f8 Autoreload is now up globally
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 27s Details
2024-09-23 15:34:07 +02:00
Yannick Reiß 7452ee9b06 Add pascal mode formatter
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 28s Details
2024-09-23 15:23:56 +02:00
Yannick Reiß d2c68f99ab Add pascal mode 2024-09-23 15:23:44 +02:00
Yannick Reiß 085ff836c3 PTOP configuration
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 22s Details
2024-09-23 15:10:59 +02:00
Yannick Reiß 55e22fd3f7 Snippet updates
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 30s Details
2024-09-23 13:27:17 +02:00
Yannick Reiß 963e7a1f97 Linterconfiguration 2024-09-23 13:27:06 +02:00
Yannick Reiß 10c2b99fb8 Remove Doxyscan, tagbar is better
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 34s Details
2024-09-17 11:51:26 +02:00
Yannick Reiß aa1d40613d Seperating configuration into different lua modules
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 28s Details
2024-09-16 06:40:52 +02:00
Yannick Reiß fdd52c7471 Vim snippet add remap
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 30s Details
2024-09-16 06:18:16 +02:00
Yannick Reiß 04f7b17fd5 Change XML tag trigger to auto trigger
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 20s Details
2024-09-15 21:09:33 +02:00
Yannick Reiß c3f37295e6 Failing self containing hello world snippet 2024-09-15 21:07:11 +02:00
Yannick Reiß 8233320d90 Add Rust hello world, remove weird python based print snippet
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 33s Details
2024-09-15 20:46:40 +02:00
Yannick Reiß 3348f2e49b Hello world snippet for python
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 31s Details
2024-09-15 20:38:53 +02:00
Yannick Reiß 2135d24022 Nicer function snippet for python
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 38s Details
2024-09-15 20:34:11 +02:00
Yannick Reiß b5a63692af Link plaintex snippets to latex 2024-09-15 20:33:57 +02:00
Yannick Reiß 08394c8b54 Remove barely used snippets 2024-09-15 20:25:02 +02:00
Yannick Reiß be445dfcec Remove empty snippet files
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 26s Details
2024-09-15 20:20:52 +02:00
Yannick Reiß 566763638d Remove unused lua snippets and add return statement to doxygen
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 30s Details
2024-09-15 20:19:50 +02:00
Yannick Reiß 6734c00e68 I don't even know lisp 2024-09-15 19:55:28 +02:00
Yannick Reiß 58a2717f6e Add HTML hello world snippet 2024-09-15 19:45:14 +02:00
Yannick Reiß e15b921187 Remove gitcommit snippets 2024-09-15 19:25:12 +02:00
Yannick Reiß db450d73a0 Remove csv snippets, no need for those
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 24s Details
2024-09-15 19:08:40 +02:00
Yannick Reiß 06cbad6b53 Something something LaTeX snippet something
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 34s Details
2024-09-15 18:48:40 +02:00
Yannick Reiß ea3acd437a Reduced snippets of this piece of shit language called cobol 2024-09-15 18:48:25 +02:00
Yannick Reiß 04369588f6 Remove rarely used assembly snippets 2024-09-15 10:20:09 +02:00
Yannick Reiß e1a5e7f825 Bring order into global snippets
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 24s Details
2024-09-15 10:15:53 +02:00
Yannick Reiß ea0e244f05 Text file snippets are useless 2024-09-15 10:14:55 +02:00
Yannick Reiß 577fd649e3 Ada project shell integration
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 32s Details
2024-09-15 03:03:03 +02:00
Yannick Reiß 61fb308e60 Add fancy procedure and function snippet for Ada
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 29s Details
2024-09-15 02:56:35 +02:00
Yannick Reiß 7f8f120b7b Remove deprecated ada LSP
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 23s Details
2024-09-14 17:57:39 +02:00
Yannick Reiß 04eadef1d4 Add helloworld example Ada snippet for testing
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 24s Details
2024-09-14 17:54:46 +02:00
Yannick Reiß ab043c5c1c Order and sort plugins
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 23s Details
2024-09-14 17:47:44 +02:00
Yannick Reiß 2e0d35c2d9 Fix ultisnips cmp problem
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 22s Details
2024-09-14 12:48:33 +02:00
Yannick Reiß 299cdc7267 remove letter icons from nerdtree
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 26s Details
2024-09-14 11:46:35 +02:00
Yannick Reiß 546cc3e437 Doxygen for lua function snippet
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 42s Details
2024-09-14 11:36:33 +02:00
Yannick Reiß f0b346271c Delete useless snippets, combining c and cpp snippets
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 25s Details
2024-09-13 12:11:30 +02:00
Yannick Reiß 8026306999 Merge branch 'master' of git.nickr.eu:yannickreiss/nvim
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 33s Details
2024-09-13 08:03:08 +02:00
Yannick Reiß 325f41372a Add hello world, better for loop snippet 2024-09-13 08:02:57 +02:00
Yannick Reiß 34d96fcddc Add keybindings for relative numbers
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 20s Details
2024-09-12 10:53:13 +02:00
Yannick Reiß e2836f519f Change tagbar behavior to support both operation modes 2024-09-10 10:20:13 +02:00
Yannick Reiß 1d83337da8 Add Tagbar
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 1m58s Details
2024-09-10 05:35:46 +02:00
Yannick Reiß a1cffcf7e9 Still no ultisnips in cmp
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 32s Details
2024-09-09 08:21:29 +02:00
Yannick Reiß 859311d0ee Update
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 25s Details
2024-07-30 06:44:24 +02:00
Yannick Reiß 9c504e284f Make view nicer
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 22s Details
2024-07-26 07:42:31 +02:00
Yannick Reiß e1711a1180 C and Makefile snippets 2024-07-26 07:42:13 +02:00
Yannick Reiß 94457aae68 Config update
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 1m14s Details
2024-07-15 07:37:31 +02:00
Yannick Reiß 7e89acf09f Linter and Correction update
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 20s Details
2024-07-08 20:28:54 +02:00
Yannick Reiß 39b9d351c0 Updated vim macros
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 22s Details
2024-06-21 08:06:01 +02:00
Yannick Reiß f33b495d12 Backslash snippets, turn \ into \ using \´
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 17s Details
2024-06-11 08:37:54 +02:00
Yannick Reiß 74ce5c7cde Remove buggy ultisnips
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 46s Details
2024-06-11 07:51:21 +02:00
Yannick Reiß 3661bb6693 No journal, don't use it.
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 45s Details
2024-06-06 09:33:46 +02:00
Yannick Reiß 4c4a6443b9 LaTeX snippet update 2024-06-06 09:32:53 +02:00
Yannick Reiß 1b9a7264de Remove legacy python support
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 1m47s Details
2024-05-22 07:48:41 +02:00
Yannick Reiß 682f512251 Add action as verification
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 1m54s Details
2024-05-22 07:47:30 +02:00
Yannick Reiß bd368117fe Add action as verification
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled Details
2024-05-22 07:30:31 +02:00
Yannick Reiß 2143b6d5a1 Remove lua and replace pylsp 2024-05-20 07:36:17 +02:00
Yannick Reiß a3983ae9c5 Corrected address in email thingy 2024-05-13 15:32:22 +02:00
Yannick Reiß 290fcc1aff Add mail snippet 2024-05-13 13:03:07 +02:00
Yannick Reiß e539bb663d Easily swapping two words with ,lw 2024-05-12 22:02:26 +02:00
Yannick Reiß 5f39958f59 Adding sections is now less of a pain in the ass 2024-05-12 21:32:24 +02:00
Yannick Reiß b2cbeb41c1 automacros added 2024-05-12 14:18:08 +02:00
Yannick Reiß d42f1f53e8 Various minor adjustments to snippets 2024-05-12 06:33:03 +02:00
Yannick Reiß def3c6b531 Removed Tabnine because of resource usage, addded journal plugin instead 2024-05-12 06:32:42 +02:00
Yannick Reiß 1d7c562add Add exactly one unnececessary comment 2024-04-09 07:28:48 +02:00
Yannick Reiß 39381d1da9 Adjust minimal characters for completion 2024-04-07 18:43:45 +02:00
Yannick Reiß f4b99df515 add forgotten RETs 2024-04-07 18:26:53 +02:00
Yannick Reiß 471e420829 Ghost text 2024-04-07 15:53:20 +02:00
Yannick Reiß e15fc0dfa7 Final Refactor 2024-04-07 11:00:01 +02:00
Yannick Reiß 55c7a8d1e2 Markdownpreview 2024-04-07 10:34:32 +02:00
Yannick Reiß e4812f748b Removed from init.lua 2024-04-07 09:11:07 +02:00
Yannick Reiß a7e387067a Translated plugconfig 2024-04-07 09:10:13 +02:00
Yannick Reiß 4fd990b5fd Remove plugbench 2024-04-07 09:01:30 +02:00
Yannick Reiß 463ded36cd Remove additional useless files 2024-04-07 08:57:12 +02:00
Yannick Reiß 187b9de47a no need for ycm 2024-04-07 08:56:33 +02:00
Yannick Reiß d13d0ec0e8 Laptop 2024-04-07 08:55:38 +02:00
Yannick Reiß 30fdc90545 Remove unneeded file 2024-04-07 08:47:57 +02:00
Yannick Reiß bdab32c01a Translated vanilla completely 2024-04-07 08:45:24 +02:00
Yannick Reiß abee013697 Translated vanilla completely 2024-04-07 08:44:51 +02:00
Yannick Reiß 29f798abc7 Starting to move all vim to lua 2024-04-07 08:20:02 +02:00
Yannick Reiß 49dfe769ed Remove and add numbers with ,ll and ,lm 2024-04-06 22:47:37 +02:00
Yannick Reiß 23d1e0deb1
Update 2024-03-23 14:10:36 +01:00
Yannick Reiß 4d3800a027
update 2024-03-19 10:28:46 +01:00
Yannick Reiß ce70d6f9b7
Additional code completion sources (tabnine) 2024-03-19 07:20:20 +01:00
Yannick Reiß b2a762ab4d
Verible lsp 2024-03-18 21:32:10 +01:00
Yannick Reiß e20feca786
Not using transparency 2024-03-18 10:16:18 +01:00
Yannick Reiß 0db71c6f62
Neovim update 2024-03-18 07:02:51 +01:00
Yannick Reiß 744865e965 Update 2024-03-15 12:20:08 +01:00
Yannick Reiß 6b13d4c6b4
Vim Monokai tasty 2024-03-10 08:59:32 +01:00
Yannick Reiß 8eb3955fd6
Change exfun 2024-03-10 08:50:07 +01:00
Yannick Reiß 54991cf3d9
Seems, it really did work 2024-03-06 08:47:42 +01:00
Yannick Reiß bb886d3fe6
Remove autosave, doesn't work 2024-03-06 08:43:23 +01:00
Yannick Reiß 1ceb2e0e4a
Autosave in Markdown 2024-03-06 08:33:12 +01:00
Yannick Reiß 77bba8c263 Allow one step setup 2024-03-01 18:36:47 +01:00
Yannick Reiß 84d14e8884
Directory update 2024-02-20 07:16:19 +01:00
61 changed files with 1530 additions and 2069 deletions

View File

@ -0,0 +1,29 @@
name: Test Neovim config on push
on: [push]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
os: [ubuntu-20.04]
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install required packages
run: |
apt-get update -qy
apt-get install -y git
apt-get install -y neovim
apt-get install -y python3-neovim
- name: Clone neovim repository
run: |
git clone https://git.nickr.eu/yannickreiss/nvim
- name: Syntax check the configuration
run: |
cd nvim && nvim -l init.lua

4
.gitignore vendored
View File

@ -1,2 +1,6 @@
lastSession.vim lastSession.vim
plugin/ plugin/
spell/
./mail_password
./lua/irc.lua
./lazy-lock.json

View File

@ -1,52 +1,3 @@
snippet textio "Insert Textio import" b
with Ada.Text_IO;$0
endsnippet
snippet procedure "insert procedure" b
-- @name $1
-- @return
`!p
snip.rv = ""
if t[2].startswith("l"):
parameters = []
else:
parameters = t[2].replace("\n", "").split(";");
for parameter in parameters:
if not parameter == "" and not parameter.startswith("typ"):
paramless = parameter.replace("\t", "")
snip.rv += f"-- @variable {paramless}\n"
`-- @description $3
procedure ${1:Name} is
$2
begin
$4
end $1;$0
endsnippet
snippet function "insert function" b
-- @name $1
-- @return $3
-- @param $2
`!p
snip.rv = ""
if t[4].startswith("l"):
parameters = []
else:
parameters = t[4].replace("\n", "").split(";")
for parameter in parameters:
if not parameter.startswith("typ") and not parameter == "":
paramless = parameter.replace("\t", "")
snip.rv += f"-- @variable {paramless}\n"
`-- @description $5
function ${1:Name}($2`!p if (t[2] == ""):
t[2] = "a, b: Integer"`) return ${3:Integer} is
$4
begin
$7
return ${6:`!p snip.rv = t[3]`};
end $1;$0
endsnippet
global !p global !p
def complete(t, opts): def complete(t, opts):
if t: if t:
@ -56,56 +7,188 @@ def complete(t, opts):
if len(opts) > 5: if len(opts) > 5:
opts = opts[0:5] opts = opts[0:5]
return "(" + "|".join(opts) + ")" return "(" + "|".join(opts) + ")"
def find_candidate(tabstop, search_type):
# Split up the tabstop on semicolons
items = tabstop.replace("\n", "").replace(" ", "").split(";")
# find multiple same time assignments (a, b : Integer)
single_items = []
for item in items:
if (len(item.split(",")) > 1) and (len(item.split(":")) > 1):
variables = item.split(":")[0]
multi_type = item.split(":")[1]
for variable in variables.split(","):
single_items.append(f"{variable}:{multi_type}")
else:
single_items.append(item)
for candidate in single_items:
if len(candidate.split(":")) > 1:
name = candidate.split(":")[0]
candidate_type = candidate.split(":")[1]
else:
name = "None"
candidate_type = ""
if candidate_type == search_type:
return name
return "None"
endglobal endglobal
snippet if "If condition" b snippet helloworld "Hello world example to test features" b
if $1 then -- `!p snip.rv = fn`
$2 -- Created on: `date`
$3`!p snip.rv = complete(t[3], ["elsif", "else", "end if;"])` ${4:`!p if t[3] == "elsif": -- Author(s): Yannick Reiss <yannick.reiss@nickr.eu>
snip.rv = "condition" -- Content: Hello world example
with Ada.Text_IO; use Ada.Text_IO;
-- @name ${1:`!p snip.rv = fn[0].upper() + fn[1:].split('.')[0]`}
-- @return
-- @description Function printing hello world.
procedure $1 is
begin
${2:Put_Line ("Hello world!");}
end $1;$0
endsnippet
snippet docstring "Document String with most important information" b
-- `!p snip.rv = fn`
-- Created on: `date`
-- Author(s): ${1:Yannick Reiß}
-- Description: ${2:`!p snip.rv = fn.split('.')[0]`}
$0
endsnippet
snippet procedure "insert procedure" b
-- @name $1
-- @return
`!p
snip.rv = ""
if t[2].startswith("l"):
parameters = []
else: else:
snip.rv = ""`} `!p parameters = t[2].replace("; ", ";").replace('in ', '').replace('out ', '')
if t[3] == "elsif": parameters = parameters.replace(' ', '').split(";");
snip.rv = "then"` parameter_list = []
for parameter in parameters:
if len(parameter.split(',')) == 1:
parameter_list.append(parameter)
else:
try:
list_type = parameter.split(':')[1]
except:
list_type = "???"
list_parameters = parameter.split(':')[0].replace(' ', '').split(',')
for sub_parameter in list_parameters:
parameter_list.append(f"{sub_parameter}\t:\t{list_type}")
for parameter in parameter_list:
if not parameter == "" and not parameter.startswith("typ"):
parameterless = parameter.replace("\t", "")
snip.rv += f"-- @parameter {parameterless}\n"
``!p
snip.rv = ""
if t[3].startswith("l"):
variables = []
else:
variables = t[3].replace("\n", "").split(";");
for variable in variables:
if not variable == "" and not variable.startswith("typ"):
variableless = variable.replace("\t", "").replace (" ", "")
snip.rv += f"\t-- @variable {variableless}\n"
`-- @description $4
procedure ${1:`!p snip.rv = fn.split('.')[0].capitalize()`} `!p snip.rv = "" if t[2] == "" else "("`${2:N : Natural}`!p snip.rv = "" if t[2] == "" else ")"` is
$3
begin
$5 $5
`!p if t[3] == "end if;": end $1;$0
snip.rv = ""
else:
snip.rv = "end if;"`$0
endsnippet endsnippet
snippet for "For loop" b snippet function "insert function" b
for ${1:i} ${2:in ${3:1}..${4:10}} loop -- @name $1
$5 -- @return $3
end loop;$0 `!p
endsnippet snip.rv = ""
if t[2].startswith("l"):
snippet while "While loop" b parameters = []
while ${1:Condition} loop
$2
end loop;$0
endsnippet
snippet let "Create new Variable" bA
${1:letName}`!p if not t[1].startswith("let"):
t[1] = t[1].capitalize()``!p snip.rv = "\t:\t"`${2}`!p if t[2].startswith("!"):
snip.rv = ""
else: else:
snip.rv = complete(t[2], ["Integer", "Boolean", "Float", "Natural", "Positive", "Negative", "Long_Float", "String"]) parameters = t[2].replace("; ", ";").replace('in ', '').replace('out ', '')
``!p if t[3] == "": parameters = parameters.replace(' ', '').split(";");
snip.rv = "" parameter_list = []
for parameter in parameters:
if len(parameter.split(',')) == 1:
parameter_list.append(parameter)
else:
try:
list_type = parameter.split(':')[1]
except:
list_type = "???"
list_parameters = parameter.split(':')[0].replace(' ', '').split(',')
for sub_parameter in list_parameters:
parameter_list.append(f"{sub_parameter}\t:\t{list_type}")
for parameter in parameter_list:
if not parameter == "" and not parameter.startswith("typ"):
parameterless = parameter.replace("\t", "")
snip.rv += f"\t-- @parameter {parameterless}\n"
``!p
snip.rv = ""
if t[4].startswith("l"):
variables = []
else: else:
snip.rv = " := " variables = t[4].replace("\n", "").split(";");
`$3; for variable in variables:
if not variable == "" and not variable.startswith("typ") and not variable.startswith("--"):
variableless = variable.replace("\t", "").replace (" ", "")
snip.rv += f"\t-- @variable {variableless}\n"
` -- @description $5
function ${1:`!p snip.rv = fn.split('.')[0].capitalize()`} `!p snip.rv = "" if t[2] == "" else "("`${2:N : Natural}`!p snip.rv = "" if t[2] == "" else ")"` return ${3:Natural} is
$4
begin
$6
return `!p
candidate = find_candidate(t[4], t[3])
if candidate == "None":
candidate = find_candidate(t[2], t[3])
if candidate == "None":
candidate = t[1]
snip.rv = candidate
`;
end $1;$0
endsnippet endsnippet
snippet type "declare a new type" bA snippet type "declare a new type" bA
type ${1:TypeName} is ${2:array($3..$4)} of ${5:Integer};$0 type ${1:TypeName} is ${2:array($3..$4) of }`!p
if t[2] == "record":
snip.rv = "\n\t\t"
else:
snip.rv = ""`$5`!p
if t[2] == "record":
snip.rv = "\n\tend record"
else:
snip.rv = ""
`;$0
endsnippet endsnippet
snippet docstring "Document String with most important infor" b snippet project "Project" b
-- `!p snip.rv = fn` project ${1:Default} is
-- Created on: `date` for Source_Dirs use ("${2:src}");
-- Author(s): ${1:Yannick Reiß} for Object_Dir use "${3:obj}";
-- Content: ${2: Function `!p snip.rv = fn.split('.')[0]`} for Exec_Dir use "${4:bin}";
for Main use ("${5:main.adb}");
for Languages use ("Ada");
end $1;
-- Create dir? (y/): ${6:no}`!p
from os import system
if t[6] == "y":
system(f"mkdir -p {t[2]}")
system(f"mkdir -p {t[3]}")
system(f"mkdir -p {t[4]}")`
endsnippet
snippet package "Create package configuration" b
package ${1:body }${2:`!p package_name = fn.split('.')[0]
snip.rv = package_name[0].upper() + package_name[1:]`} is
$0
end $2;
endsnippet endsnippet

View File

@ -1,21 +1,55 @@
snippet cred "My private Credentials"
Yannick Reiss <yannick.reiss@nickr.eu>
endsnippet
snippet solve "Solve a python equation"
${1:1*1}`!p rv = ""
from math import *
try:
rv = eval(t[1])
except:
rv = "?"
snip.rv = f" = {rv}"`
endsnippet
snippet dd "Date and Time" i snippet dd "Date and Time" i
`date` `date`
endsnippet endsnippet
snippet credhsrm "Credentials HSRM" snippet crednick "My private Credentials"
Yannick Reiß (yareissx/yreis001) <yannick.reiss@student.hs-rm.de> Yannick Reiss <yannick.reiss@nickr.eu>
endsnippet
snippet credhsrm "Credentials HSRM"
Yannick Reiß <yannick.reiss@student.hs-rm.de>
endsnippet
global !p
from datetime import datetime
def get_datetime():
now = datetime.now()
now_as_list = [
now.strftime("%d"),
now.strftime("%m"),
now.strftime("%Y"),
now.strftime("%H"),
now.strftime("%M")
]
return now_as_list
def complete(t, opts):
if t:
opts = [ m[len(t):] for m in opts if m.startswith(t) ]
if len(opts) == 1:
return opts[0]
else:
return "(" + '|'.join(opts) + ")"
endglobal
snippet mail "Template for a new delayed Mail" b
time:${1:`!p snip.rv = get_datetime()[0]`}.${2:`!p snip.rv = get_datetime()[1]`}.${3:`!p snip.rv = get_datetime()[2]`} ${4:`!p snip.rv = get_datetime()[3]`}:${5:`!p snip.rv = get_datetime()[4]`}
from:$6`!p snip.rv = complete(t[6], ['yannick.reiss@nickr.eu', 'schnick@nickr.eu'])`
to:${7:schnick@nickr.eu}
subject:${8:Subject}
${9:Message}
${10:`cat ~/.signature.txt`}
endsnippet
snippet crednina "My true credentials"
Nina Chloé Kassandra Reiß <nina.reiss@nickr.eu>
endsnippet
snippet pwd "Print the current working directory"
`echo $(pwd)`
endsnippet endsnippet

View File

@ -1,14 +1,10 @@
snippet string "Assembler string definition" snippet string86 "Assembler string definition"
${1:Name} db ${2:"Hello World!"} ; string $1 = $2 ${1:Name} db ${2:"Hello World!"} ; string $1 = $2
len_$1 equ $ - $1 ; length of string $1 len_$1 equ $ - $1 ; length of string $1
$0 $0
endsnippet endsnippet
snippet \n "Zeilenumbruch" A snippet write86 "write sys_call"
", 0x0a, "
endsnippet
snippet write "write sys_call"
mov eax, 4 ; write sys_call mov eax, 4 ; write sys_call
mov ebx, 1 ; write to stdout mov ebx, 1 ; write to stdout
mov ecx, ${1:string} ; string to write mov ecx, ${1:string} ; string to write
@ -17,7 +13,7 @@ int 0x80 ; system interrupt
$0 $0
endsnippet endsnippet
snippet exit "exit sys_call" snippet exit86 "exit sys_call"
mov eax, 1 ; exit sys_call mov eax, 1 ; exit sys_call
mov ebx, ${1:0} ; exit Code mov ebx, ${1:0} ; exit Code
int 0x80 ; system interrupt$0 int 0x80 ; system interrupt$0
@ -40,33 +36,7 @@ $1:
$0 $0
endsnippet endsnippet
snippet read "read sys call" snippet functionGCC "GCC conform function implementation" b
mov eax, 3 ; read sys call
mov ebx, 2 ; stdin file descriptor
mov ecx, ${1: variable} ; read input value in $1
mov edx, ${2:5} ; read $2 bytes of data
int 0x80 ; system interrupt
endsnippet
snippet aprstore "Store all purpose register on stack"
; store ap-register
push eax
push ebx
push ecx
push edx
$0
endsnippet
snippet aprload "Load all purpose register from stack"
; load ap-register
pop eax
pop ebx
pop ecx
pop edx
$0
endsnippet
snippet gcc_function "GCC conform function implementation" b
$1: $1:
push %ebp push %ebp
mov %esp, %ebp mov %esp, %ebp

View File

@ -18,9 +18,9 @@ endsnippet
snippet article "Add article reference" b snippet article "Add article reference" b
@article{${1:ref_name}, @article{${1:ref_name},
title={${2:Titel}}, title = {${2:Titel}},
author={${3:Autor}}, author = {${3:Autor}},
journal={${4:Journal}},`!p journal = {${4:Journal}},`!p
if t[5] != "": if t[5] != "":
snip.rv = "\n\tvolume\t= {" snip.rv = "\n\tvolume\t= {"
else: else:
@ -45,8 +45,9 @@ if t[7] != "":
snip.rv = "}," snip.rv = "},"
else: else:
snip.rv = ""` snip.rv = ""`
year={${8:2023}}, year = {${8:2023}},
publisher={${9:Verlag}} doi = {${9:DOI_NUM}}
publisher = {${10:Verlag}}
} }
$0 $0
endsnippet endsnippet

View File

@ -1,10 +1,32 @@
snippet hello "Hello World" extends cpp
Hallo
priority 200
global !p
def complete(t, opts):
if t:
opts = [m[len(t):] for m in opts if m.startswith(t)]
if len(opts) == 1:
return opts[0]
return '(' + '|'.join(opts) + ')'
endglobal
snippet helloworld "Hello World"
#include <stdio.h>
int main(void){(void)printf("Hello World!\n");return 0;}
endsnippet endsnippet
snippet for "For-loop head" snippet for "For-loop head"
for (${1:int i} = ${2:0}; ${3:i}; ${4:--i}) { for (${1:int ${2:i}} = ${3:0}; ${4:$2 < $5}; ${6:$2++}) {
$5 $7
}
$0
endsnippet
snippet while "while loop head"
for (;$1;) {
$2
} }
$0 $0
endsnippet endsnippet
@ -26,27 +48,6 @@ else:
$0 $0
endsnippet endsnippet
snippet "(\w+)->fun" "Struct function" r
${1:int} ${2:Name} (`!p snip.rv = match.group(1)`* self, ${4:void}) {
`!p
if t[1].replace('static ', '') != "void":
snip.rv = f"{t[1].replace('static ', '')} rv = 0;"
else:
snip.rv = ""`
$5
`!p
if t[1].replace('static ', '') != "void":
snip.rv = f"return rv;"
else:
snip.rv = ""`
}
$0
endsnippet
snippet "self.(\w+)" "Struct call" r
`!p snip.rv = match.group(1)`(self$1)$0
endsnippet
snippet pfun "prototype for function" bA snippet pfun "prototype for function" bA
/** /**
* @name $2 * @name $2
@ -77,50 +78,33 @@ for param in params:
snip.rv = rval` snip.rv = rval`
*/ */
${1:int} ${2:MyFunc} (${3:void}) { ${1:int} ${2:MyFunc} (${3:void}) {
/* Returns ${5:void} */
`!p `!p
if t[1].replace('static ', '') != "void": if t[1].replace('static ', '') != "void":
snip.rv = f"{t[1].replace('static ', '')} rv = 0;" snip.rv = f"{t[1].replace('static ', '')} {t[5]} = 0;"
else: else:
snip.rv = ""` snip.rv = ""`
$5 $6
`!p `!p
if t[1].replace('static ', '') != "void": if t[1].replace('static ', '') != "void":
snip.rv = f"return rv;" snip.rv = f"return {t[5]};"
else: else:
snip.rv = ""` snip.rv = ""`
} }
$0 $0
endsnippet endsnippet
snippet while "while loop head"
for (;$1;) {
$2
}
$0
endsnippet
snippet "(\w+) = malloc" "Automativ malloc error implementation" rA snippet "(\w+) = malloc" "Automativ malloc error implementation" rA
/* Allocate memory for `!p snip.rv = match.group(1)` */ /* Allocate memory for `!p snip.rv = match.group(1)` */
`!p snip.rv = match.group(1)` = ($1*)malloc(sizeof(${1:int}) * $2); `!p snip.rv = match.group(1)` = ($1*)malloc(sizeof(${1:int}) * $2);
if (!`!p snip.rv = match.group(1)`) { if (!`!p snip.rv = match.group(1)`) {
/* Error */ /* Error */
(void)printf("malloc error on memory allocation of: `!p snip.rv = match.group(1)`!\n"); (void)printf("ERROR: malloc error on memory allocation of: `!p snip.rv = match.group(1)`!\n");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
$0 $0
endsnippet endsnippet
snippet "(\w+) = open" "Automatic open error implementation" rA
/* create descriptor `!p snip.rv = match.group(1)` for file $1 */
`!p snip.rv = match.group(1)` = open(${1:"Filename"}, ${2:"MODE"});
if (-1 == `!p snip.rv = match.group(1)`) {
/* Error */
perror(${4:"open error"});
${5:exit(EXIT_FAILURE);}
}
$0
endsnippet
snippet swap "Swap two integer or numerical variables" snippet swap "Swap two integer or numerical variables"
/* Swap Variables $1 and $2 */ /* Swap Variables $1 and $2 */
${1:Var1} = $1 + ${2:Var2}; ${1:Var1} = $1 + ${2:Var2};
@ -129,27 +113,6 @@ $1 = $1 - $2;
$0 $0
endsnippet endsnippet
snippet cast "adds cast" i
(${1:void})$0
endsnippet
global !p
def complete(t, opts):
if t:
opts = [m[len(t):] for m in opts if m.startswith(t)]
if len(opts) == 1:
return opts[0]
return '(' + '|'.join(opts) + ')'
endglobal
snippet printf "Cast printf result to 'void' if heturn value is unneeded" bA
(void)printf("$1"`!p
if "%" in t[1]:
snip.rv = ", "
else:
snip.rv = ""`$2);$0
endsnippet
snippet defstruct "define a new type with a struct" A snippet defstruct "define a new type with a struct" A
/* define struct $1 ${2:Explaination} */ /* define struct $1 ${2:Explaination} */
typedef struct $1 $1; typedef struct $1 $1;
@ -158,10 +121,11 @@ struct $1 {
}; };
endsnippet endsnippet
snippet docomment "Meta Comment for Documenation" A snippet docstring "Meta Comment for Documenation" A
/* /*
* Filename: `!p snip.rv = fn` * Filename: `!p snip.rv = fn`
* Author: ${1:Yannick Reiss} * Author: ${1:Yannick Reiss}
* Date: `date`
* Project: ${2:Project Name} * Project: ${2:Project Name}
* Copyright: ${3:None} * Copyright: ${3:None}
* Description: ${4:Funny module} * Description: ${4:Funny module}
@ -198,158 +162,10 @@ $8
$0 $0
endsnippet endsnippet
snippet let+ "Declare and initialize Variable" A
${1:int} ${2:Variable} = ${3:0}; /* ${4:Description} */
$0
endsnippet
snippet let- "Declare Variable" A
${1:int} ${2:Variable}; /* ${3:Description} */
$0
endsnippet
snippet "close\((\w+)\)" "Automatic close error implementation" brA
/* Closing file `!p snip.rv = match.group(1)` */
if (close(`!p snip.rv = match.group(1)`)) {
/* Error */
perror("${1:Could not close file!}");
exit(EXIT_FAILURE);
}
$0
endsnippet
snippet write( "Automatic write error check" A
/* Write $3 bytes from $2 to file $1 */
if (-1 == write(${1:file}, ${2:buffer}, ${3:bytes})) {
/* Error */
perror("${4:Could not write to file!}");
exit(EXIT_FAILURE);
}
$0
endsnippet
snippet /* "comment" A snippet /* "comment" A
/* $1 */$0 /* $1 */$0
endsnippet endsnippet
snippet "read\((.+), (.+), (.+)\);" "auto read" brA
/* read `!p snip.rv = match.group(3)` from file `!p snip.rv = match.group(1)` intobuffer `!p snip.rv = match.goup(2)` */
if (-1 == read(`!p snip.rv = match.group(1)`, `!p snip.rv = match.group(2)`, `!p snip.rv = match.group(3)`)) {
/* Error */
perror("${1:Could not read to file!})";
exit(EXIT_FAILURE);
}
$0
endsnippet
snippet "fstat\((.+), (.+)\);" "auto stat" brA
/* load information about file `!p snip.rv = match.group(1)` into struct `!p snip.rv = match.group(2)` */
if (fstat(`!p snip.rv = match.group(1)`, `!p snip.rv = match.group(2)`)) {
/* Error */
perror("${1:Could not fill struct with information!}");
exit(EXIT_FAILURE);
}
$0
endsnippet
snippet "ftruncate\((.+), (.+)\);" "ftruncate auto" brA
/* Resize file `!p snip.rv = match.group(1)` to size `!p snip.rv = match.group(2)` */
if (ftruncate(`!p snip.rv = match.group(1)`, `!p snip.rv = match.group(2)`)) {
/* Error */
perror("${1:Could not resize file!}j;
exit(EXIT_FAILURE);
}
endsnippet
snippet 'system\("(.+)"\);' "Automatic system error implementation" rA
/* run system command `!p snip.rv = match.group(1)` and check for success */
if (system("`!p snip.rv = match.group(1)`")) {
/* Error */
perror(${1:"Could not execute shell command!"});
${5:exit(EXIT_FAILURE);}
}
$0
endsnippet
snippet "if \(argc" "automatically add clarg check" A
/* check for right number of arguments */
if (argc ${1:!=} $2) {
/* Error */
perror("Wrong number of arguments");
exit(EXIT_FAILURE);
}
endsnippet
snippet "(\w+) = fork" "Auto fork error implementation" rA
/* create new subproccess `!p snip.rv = match.group(1)` */
`!p snip.rv = match.group(1)` = fork();
if (`!p snip.rv = match.group(1)` < 0) {
/* Error */
perror("fork error on creating new subprocess '`!p snip.rv = match.group(1)`'.");
exit(EXIT_FAILURE);
} else if (!`!p snip.rv = match.group(1)`) {
/* fork runs from here */
${1:execve(proc, args, NULL)};
}
$0
endsnippet
snippet pthread_create "pthreadcreate auto implement" A
/* Creating thread $1 running function $3 */
if (pthread_create(${1:thread}, ${2:NULL}, ${3:function}, ${4:args})) {
perror("Could not create thread $1.");
exit(EXIT_FAILURE);
}
endsnippet
snippet pthread_mutex_unlock "mutex" iA
/* Unlock mutex $1 */
if ( pthread_mutex_unlock(&${1:mutex}) ) {
perror("Could not unlock mutex $1.");
exit(EXIT_FAILURE);
}
endsnippet
snippet pthread_cond_wait "condition wait" iA
/* wait for condition $1 on mutex $2 */
if ( pthread_cond_wait(&${1:Condition}, &${2:mutex}) ) {
perror("Could not wait for signal $1 on mutex $2.");
exit(EXIT_FAILURE);
}
endsnippet
snippet pthread_cond_signal "condition signal" iA
/* Send signal $1 */
if ( pthread_cond_signal(&${1:signal}) ) {
perror("Could not send signal $1.");
exit(EXIT_FAILURE);
}
endsnippet
snippet pthread_mutex_lock "mutex" iA
/* lock the mutex $1 */
if ( pthread_mutex_lock(&${1:mutex}) ) {
perror("Could not lock mutex $1.");
exit(EXIT_FAILURE);
}
endsnippet
snippet pthread_join "join thread" iA
/* join the thread $1 */
if ( pthread_join(${1:thread}, ${2:NULL}) ) {
perror("Could not join thread $1.");
exit(EXIT_FAILURE);
}
endsnippet
snippet sigaction "signal action" i
/* call function $2 on signal $1 */
if ( sigaction(${1:SIGINT}, ${2:&act}, ${3:&old}) ) {
perror("Could not change function of signal $1 to $2.");
exit(EXIT_FAILURE);
}
endsnippet
snippet fflush "flush stdout" iA snippet fflush "flush stdout" iA
/* flush stdout */ /* flush stdout */
if ( fflush(stdout) ) { if ( fflush(stdout) ) {
@ -357,3 +173,13 @@ if ( fflush(stdout) ) {
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
endsnippet endsnippet
snippet switch "Classic C switch statement" b
switch(${1:Expression}) {
case $3:
$4
break;$5
default:
$2
}$0
endsnippet

View File

@ -1,3 +1,12 @@
global !p
def complete(t, opts):
if t:
opts = [m[len(t):] for m in opts if m.startswith(t)]
if len(opts) == 1:
return opts[0]
return '(' + '|'.join(opts) + ')'
endglobal
snippet template "template for new program" A snippet template "template for new program" A
*----------------------------------------------------------------- *-----------------------------------------------------------------
IDENTIFICATION DIVISION. IDENTIFICATION DIVISION.
@ -13,9 +22,9 @@ snippet template "template for new program" A
*------------------------- *-------------------------
WORKING-STORAGE SECTION. WORKING-STORAGE SECTION.
$4 $4
*----------------------------------------------------------------- *-----------------------------------------------------------------
*----------------------------------------------------------------- *-----------------------------------------------------------------
PROCEDURE DIVISION. PROCEDURE DIVISION.
$0 $0
@ -23,70 +32,7 @@ snippet template "template for new program" A
*----------------------------------------------------------------- *-----------------------------------------------------------------
endsnippet endsnippet
snippet let "Add new Variable" A
${1:01} ${2:Name} PIC ${3:999}${4:(8) }${5:VALUE }.
$0
endsnippet
snippet compute "Insert a computation" A
COMPUTE ${1:Expression}.
endsnippet
global !p
def complete(t, opts):
if t:
opts = [m[len(t):] for m in opts if m.startswith(t)]
if len(opts) == 1:
return opts[0]
return '(' + '|'.join(opts) + ')'
endglobal
snippet calc "Add a Calculation with autocomplete" A
$1`!p snip.rv = complete(t[1], ['ADD', 'DIVIDE', 'MULTIPLY', 'SUBTRACT'])` ${2:Var1} `!p
try:
snip.rv = {'ADD': 'TO', 'DIVIDE': 'INTO', 'MULTIPLY': 'BY', 'SUBTRACT': 'FROM'}[t[1] + complete(t[1], ['ADD', 'DIVIDE', 'MULTIPLY', 'SUBTRACT'])]
except KeyError:
snip.rv = '---'
` ${3:Var2} GIVING ${4:VarResult}.
$0
endsnippet
snippet move "Move value to another value" A
MOVE ${1:Const/Var} TO ${2:Var}.
$0
endsnippet
snippet display "Display a contant or Variable" A snippet display "Display a contant or Variable" A
DISPLAY ${1:"Hello World!"}. DISPLAY ${1:"Hello World!"}.
$0 $0
endsnippet endsnippet
snippet accept "Accept a Value to an uninitialized Variable" A
ACCEPT ${1:Variable}.
$0
endsnippet
snippet strinit "Initialize an empty String" A
INITIALIZE ${1:Stringvariable}.
$0
endsnippet
snippet init "Inizialize a numerical Value" A
INITIALIZE ${1:Numerical variable} REPLACING NUMERIC DATA BY ${2:ZEROS}.
$0
endsnippet
snippet ifthen "If-then-else Clause" A
IF ${1:Condition} THEN
${2:Do this}
ELSE
${3:Do that}
END-IF.
$0
endsnippet
snippet ifis "IF-Condition 'is' POS/NEG" A
IS $1`!p snip.rv = complete(t[1], ['POSITIVE', 'NEGATIVE'])` $0
endsnippet

View File

@ -1,3 +1,6 @@
extends c
priority 100
snippet header "Header wrapper" b snippet header "Header wrapper" b
#ifndef $1 #ifndef $1
#define $1 #define $1
@ -7,72 +10,6 @@ $0
#endif//$1 #endif//$1
endsnippet endsnippet
snippet for "For-loop head"
for (${1:int i} = ${2:0}; ${3:i}; ${4:--i}) {
$5
}
$0
endsnippet
snippet exfun "New Function with Documentation"
/**
* @name $2
* @return `!p t[1].replace("static ", "")`
* @brief ${4: Description}
*
`!p
params = t[3].split(", ")
rval = ""
for param in params:
if len(param.split(' ')) == 2:
rval += f" * @param {param}:\t{t[2]}_{param.split(' ')[1]}\n"
snip.rv = rval`
*/
${1:int} ${2:MyFunc} (${3:void}) {
`!p
if t[1] != "void":
snip.rv = f"{t[1].replace('static ', '')} rv = 0;"
else:
snip.rv = ""`
$5
`!p
if t[1].replace("static ", "") != "void":
snip.rv = f"return rv;"
else:
snip.rv = ""`
}
$0
endsnippet
snippet fun "Function template"
${1:int} ${2:Name} (${3:void}) {
$5
return ${6:`!p
if t[1].replace("static ", "") != "void":
snip.rv = f"0"
else:
snip.rv = ""`};
}
$0
endsnippet
snippet while "while loop head"
while (${1:true}) {
$2
}
$0
endsnippet
snippet ifelse "If-Clause"
if ($1) {
$2
} else {
$3
}
$0
endsnippet
snippet class "Add new class" bA snippet class "Add new class" bA
class $1 ${2::} `!p class $1 ${2::} `!p
if t[2] == ":": if t[2] == ":":
@ -150,47 +87,3 @@ for var in variables:
snip.rv = rv` snip.rv = rv`
$0 $0
endsnippet endsnippet
snippet defstruct "define a new type with a struct" A
typedef struct $1 $1;
struct $1{
$2
};
endsnippet
snippet docomment "Meta Comment" A
/*
* Filename: `!p snip.rv = fn`
* Author: ${1:Yannick Reiss}
* Project: ${2:Project Name}
* Copyright: ${3:None}
* Description: ${4:Helpful description}
*/
$0
endsnippet
snippet let+ "Declare and initialize Variable" A
${1:int} ${2:Variable} = ${3:0}; /* ${4:Description} */
$0
endsnippet
snippet let- "Declare Variable" A
${1:int} ${2:Variable}; /* ${3:Description} */
$0
endsnippet
snippet pfun "prototype for function" bA
/**
* @name $2
* @return $1
* @brief ${4: Description}
* `!p
params = t[3].split(", ")
rval = ""
for param in params:
if len(param.split(' ')) >= 2:
rval += f"\n *\t@param {param}:\t{t[2]}_{param.split(' ')[1]}"
snip.rv = rval`
*/
${1:int} ${2:MyFunc} (${3:void});
endsnippet

View File

@ -1,32 +0,0 @@
global !p
def complete(t, opts):
if t:
opts = [ m[len(t):] for m in opts if m.startswith(t)]
if len(opts) == 1:
return opts[0]
else:
return f"({'|'.join(opts)})"
endglobal
snippet mv "Mitglied DLRG Neuaufnahme" bA
${1}`!p
snip.rv = complete(t[1], ["Herr", "Frau", "Ohne"])
`,${2:Vorname},${3:Nachname},${4:63165}`!p
snip.rv = complete(t[4], ["63165"])`,${5:Adresse},${6:Telefonnummer},${7:Email},${8:Geburtsdatum}`!p
if t[8] != "Geburtsdatum" and len(t[8]) == 8:
if len(t[8]) > 2:
t[8] = f"{t[8][0:2]}.{t[8][2:]}"
if len(t[8]) > 4:
t[8] = f"{t[8][:5]}.{t[8][5:]}"
`,${9:Eintrittsdatum}`!p
if t[9] != "Eintrittsdatum" and len(t[9]) == 8:
if len(t[9]) > 2:
t[9] = f"{t[9][0:2]}.{t[9][2:]}"
if len(t[9]) > 4:
t[9] = f"{t[9][:5]}.{t[9][5:]}"
`,DE${10:IBAN}`!p
if len(t[10]) >= 25:
t[10] = t[10].replace(' ', '')
`,${11:Kontoinhaber*in}
$0
endsnippet

View File

@ -1,16 +0,0 @@
global !p
def complete(t, opts):
if t:
opts = [m[len(t):] for m in opts if m.startswith(t)]
if len(opts) == 1:
return opts[0]
return '(' + '|'.join(opts) + ')'
endglobal
snippet !! "Standard message" bA
$1`!p snip.rv=complete(t[1], ["BUG", "INFO", "UPDATE", "FEATURE", "ADD"])`: $2`!p snip.rv=complete(t[2], ["OPEN", "CLOSE", "FIX", "WARNING", "ERROR", "ADD", "REMOVED", "TODO", "NEW"])` `!p
if t[3] == "":
snip.rv = ""
else:
snip.rv = "=>"` $3
endsnippet

View File

@ -0,0 +1,3 @@
snippet ß "Add backslash" A
\\
endsnippet

View File

@ -1,4 +1,19 @@
snippet << "Tag for html" bA snippet helloworld "A little hello world example." b
<$1>$2</${1/(\w+).*/$1/}>$0 <!DOCTYPE html>
<html>
<head>
<title>Hello world example</title>
</head>
<body>
<h1 align=center>Hello World</h1>
</body>
</html>
endsnippet endsnippet
snippet << "Tag for html" bA
<${1:p}>$2</${1/(\w+).*/$1/}>$0
endsnippet
snippet >> "Line break / closing tag"
</${1:br}>$0
endsnippet

7
UltiSnips/irc.snippets Normal file
View File

@ -0,0 +1,7 @@
snippet ff "Freunde (fast)" A
.freunde
endsnippet
snippet wild "Widi Schild update"
widi: Schildupdate?
endsnippet

37
UltiSnips/lean.snippets Normal file
View File

@ -0,0 +1,37 @@
snippet ß "Backslash" A
\\
endsnippet
snippet <> "Add sharp brackets"
⟨$1⟩$0
endsnippet
snippet | "dvd"
endsnippet
snippet () "Braces"
($1)$0
endsnippet
# Mengen
snippet N "Natural number"
endsnippet
snippet Z "Whole numbers"
endsnippet
snippet R "Real"
endsnippet
# Quantoren
snippet E "Exists"
endsnippet
snippet A "All"
endsnippet

View File

@ -1,3 +0,0 @@
snippet pack "This is the package." bA
(package! $1)$0
endsnippet

View File

@ -1,57 +1,3 @@
snippet fun "New function"
function ${1:Name} ($2)
$3
end;
$0
endsnippet
snippet while "while-loop"
while (${1:true})
do
$1
end;
$0
endsnippet
snippet for "for loop"
for ${1:i = 0}, ${2:target}, ${3:1}
do
$4
end;
$0
endsnippet
snippet repeat "repeat until loop"
repeat
$2
until (${1:Condition});
$0
endsnippet
snippet ifthen "normal if clause"
if (${1:Condition})
then
$2
end;
$0
endsnippet
snippet ifelse "if and else clause"
if (${1:Condition})
then
$1
else
$2
end;
$0
endsnippet
snippet "= fun" "Assign a function" rA
= function(${1:Parameter})
$2
end;$0
endsnippet
snippet docstring "Document string" b snippet docstring "Document string" b
-- Filename: `!p snip.rv = fn` -- Filename: `!p snip.rv = fn`
-- Author: ${1:Yannick Reiß} -- Author: ${1:Yannick Reiß}
@ -59,3 +5,22 @@ snippet docstring "Document string" b
-- Description: ${3:Funny lua script} -- Description: ${3:Funny lua script}
$0 $0
endsnippet endsnippet
snippet fun "New function"
-- @name $2
`!p
lines = t[5].split('\n')
for line in lines:
if line.startswith("return"):
snip.rv = f"-- @return {line.replace('return', '').replace(' ', '')}\n"
``!p
param = ""
for i in t[3].split(","):
param += f"-- @param {i.replace(' ', '')}\n"
snip.rv = param
`-- @short ${4:Description}
${1:local }function ${2:Name} (${3:})
$5
end;
$0
endsnippet

View File

@ -0,0 +1,35 @@
global !p
from datetime import datetime
def get_datetime():
now = datetime.now()
now_as_list = [
now.strftime("%d"),
now.strftime("%m"),
now.strftime("%Y"),
now.strftime("%H"),
now.strftime("%M")
]
return now_as_list
def complete(t, opts):
if t:
opts = [ m[len(t):] for m in opts if m.startswith(t) ]
if len(opts) == 1:
return opts[0]
else:
return "(" + '|'.join(opts) + ")"
endglobal
snippet mail "Template for a new delayed Mail" b
time:${1:`!p snip.rv = get_datetime()[0]`}.${2:`!p snip.rv = get_datetime()[1]`}.${3:`!p snip.rv = get_datetime()[2]`} ${4:`!p snip.rv = get_datetime()[3]`}:${5:`!p snip.rv = get_datetime()[4]`}
from:$6`!p snip.rv = complete(t[6], ['yannick.reiss@nickr.eu', 'schnick@nickr.eu'])`
to:${7:schnick@nickr.eu}
subject:${8:Subject}
${9:Message}
${10:`cat ~/.signature.txt`}
endsnippet

View File

@ -108,3 +108,9 @@ snippet rule "Add new Rule"
${1:all}: $2 ${1:all}: $2
$0 $0
endsnippet endsnippet
snippet clean "Clean the object files and binary file" b
.PHONY: clean
clean:
${1:rm *.o $(BIN)}
endsnippet

View File

@ -35,15 +35,15 @@ $1
$0 $0
endsnippet endsnippet
snippet cobol "Cobol Code" snippet bash "bash Code"
\`\`\`cobol \`\`\`bash
$1 $1
\`\`\` \`\`\`
$0 $0
endsnippet endsnippet
snippet bash "bash Code" snippet cjson "json code"
\`\`\`bash \`\`\`json
$1 $1
\`\`\` \`\`\`
$0 $0
@ -53,35 +53,16 @@ snippet ,m "Math equation" A
\$$1\$ $0 \$$1\$ $0
endsnippet endsnippet
snippet entry "Add new entry" bA snippet bookshelf "Tagline for bookshelf" b
----------------------------------------------------------- `!p
## $1 ## if t[1] != "":
### Date: ${2:`date`} ### snip.rv = "[CW: "
### Author: ${3:`whoami`} ### else:
### Host: `hostname` ### snip.rv = ""`$1`!p
----------------------------------------------------------- if t[1] != "":
Tags: $4 snip.rv = "]"
else:
$5 snip.rv = ""`
${2:Title} by ${3:Author}
----------------------------------------------------------- ${4:Description}
$0
endsnippet
snippet info "The Markdown Information panel" b
---
${1:Info}
Tags: $2
$0
endsnippet
snippet cite "Cite from a paper" b
---
> ${1:Citation}`!p t[1].replace('\n', '\n> ')`
Tags: $2
$0
endsnippet endsnippet

91
UltiSnips/pascal.snippets Normal file
View File

@ -0,0 +1,91 @@
snippet prog "Add new program template" b
Program ${1:Name}`!p snip.rv = "" if t[2] == "" else " ("`${2:FileList}`!p snip.rv = "" if t[2] == "" else ")"`;`!p
if t[3] == "":
snip.rv = ""
else:
snip.rv = "\nconst\n (* Constant declarations *)\n "`${3:Const}`!p
if t[4] == "":
snip.rv = ""
else:
snip.rv = "\ntype\n (* Type declarations *)\n "`${4:Types}`!p
if t[5] == "":
snip.rv = ""
else:
snip.rv = "\nvar\n (* Variable declarations *)\n "`${5:Variables}
Begin
$0
End.
endsnippet
snippet procedure "Add a new procedure" b
{ Procedure
@name: $1`!p
if t[2] == "":
snip.rv = "\n\t"
else:
snip.rv = "\n"
groups = t[2].split(";");
for group in groups:
snip.rv += f"\t@param {group}\n"
snip.rv += "\t"
`@description: $3 }
Procedure ${1:name}`!p
if not (t[2] == ""):
snip.rv = " ("
else:
snip.rv = ""`$2`!p
if not (t[2] == ""):
snip.rv = ")"
else:
snip.rv = ""`;`!p
if t[4] == "":
snip.rv = ""
else:
snip.rv = "\nVar\n\t"`$4
Begin
$0
End;
endsnippet
snippet function "Add a new function" b
{ Procedure
@name: $1`!p
if t[2] == "":
snip.rv = "\n\t"
else:
snip.rv = "\n"
groups = t[2].split(";");
for group in groups:
snip.rv += f"\t@param {group}\n"
snip.rv += "\t"
`@return $3
@description: $4 }
Function ${1:name}`!p
if not (t[2] == ""):
snip.rv = " ("
else:
snip.rv = ""`$2`!p
if not (t[2] == ""):
snip.rv = ")"
else:
snip.rv = ""` : ${3:Integer};`!p
if t[5] == "":
snip.rv = ""
else:
snip.rv = "\nVar\n\t"`$5
Begin
$0
End;
endsnippet
snippet -- "Add comment"
(* $1 *)$0
endsnippet
snippet begin "Create Code Block" b
begin
$1
end;
$0
endsnippet

View File

@ -1,608 +1 @@
snippet colx "textcolor" extends latex
\\textcolor{${1:red}}{$2}$0
endsnippet
snippet tred "text red"
\\textcolor{red}{$1}$0
endsnippet
snippet tblue "text blue"
\\textcolor{blue}{$1}$0
endsnippet
snippet tgreen "text green"
\\textcolor{green}{$1}$0
endsnippet
snippet colb "boxcolor"
\\colorbox{${1:blue}!${2:25}}{$3}$0
endsnippet
snippet imth "inlinemath"
$ $1 $ $0
endsnippet
snippet fmth "fullmath"
\\[
$1
\\]
$0
endsnippet
snippet vec "Vector"
\\vec{$1}$0
endsnippet
snippet tag "tag and text inbetween"
${1:placeholder}
$2
$1
$0
endsnippet
snippet env "Environment"
\\begin{$1}
$2
\\end{$1}
$0
endsnippet
snippet code "listing without own config"
\\begin{lstlisting}
$1
\\end{lstlisting}
$0
endsnippet
snippet ccpp "C++ listing configuration"
\\lstset{ basicstyle=\\ttfamily\\small, language=C++, keywordstyle=\\color{blue}\\bfseries } $0
endsnippet
snippet casm "Assembler listing configuration"
\\lstset{basicstyle=\\ttfamily\\small, language={[${1:x86masm}]Assembler}, keywordstyle=\\color{${2:red}}\\bfseries} $0
endsnippet
snippet cshell "ZSH/BASH config"
\\lstset{basicstyle=\\ttfamily\\small, language={bash}, keywordstyle=\\color{${2:green}}\\bfseries} $0
endsnippet
snippet cocode "Free config"
\\lstset{basicstyle=\\ttfamily\\small, language={$1}, keywordstyle=\\color{${2:red}}\\bfseries} $0
endsnippet
snippet confbook "Configuration for Lectures"
\\documentclass[a4paper]{report}
\\usepackage[utf8]{inputenc}
\\usepackage[ngerman]{babel}
\\usepackage[T1]{fontenc}
\\usepackage{amsmath}
\\usepackage{amsfonts}
\\usepackage{amssymb}
\\usepackage{makeidx}
\\usepackage[straightvoltages]{circuitikz}
\\usepackage[locale=DE]{siunitx}
\\usepackage{tikz}
\\usepackage[left=1cm, right=2cm, top=3cm, bottom=3cm, bindingoffset=1cm]{geometry}
\\usepackage{graphicx}
\\usepackage{lmodern}
\\usepackage{float}
\\usepackage{fancyhdr}
\\usepackage{listings}
\\usepackage{cancel}
\\usepackage{xcolor}
\\usepackage{interval}
\\usepackage{hyperref}
\\author{${1:Yannick Reiß}}
\\title{$2}
\\pagestyle{fancy}
\\fancyhead[C]{}
\\fancyhead[L]{$2}
\\fancyfoot[C]{\thepage}
${3:colorset}
$0
endsnippet
snippet confartcl "Configuration for short articles"
\\documentclass[16pt,a4paper]{article}
\\usepackage[utf8]{inputenc}
\\usepackage[ngerman]{babel}
\\usepackage[T1]{fontenc}
\\usepackage{amsmath}
\\usepackage{amsfonts}
\\usepackage{amssymb}
\\usepackage{fancyhdr}
\\usepackage{makeidx}
\\usepackage[straightvoltages]{circuitikz}
\\usepackage[locale=DE]{siunitx}
\\usepackage{tikz}
\\usepackage{graphicx}
\\usepackage{lmodern}
\\usepackage{float}
\\usepackage{cancel}
\\usepackage[left=1cm, right=2cm, top=3cm, bottom=3cm, bindingoffset=1cm]{geometry}
\\usepackage{listings}
\\usepackage{xcolor}
\\usepackage{interval}
\\usepackage{hyperref}
\\author{${1:Yannick Reiß}}
\\title{$2}
\\pagestyle{fancy}
\\fancyhead[C]{}
\\fancyhead[L]{$2}
\\fancyfoot[C]{\thepage}
${3:colorset}
$0
endsnippet
snippet img "Images"
\\begin{figure}
\\centering
\\includegraphics[width=${1:0.7}\\linewidth]{${2}}
\\caption{${3:Abbildung}}
\\end{figure}
$0
endsnippet
snippet document "Add document environment"
\\begin{document}
$0
\\end{document}
endsnippet
snippet land "Logical and"
\\wedge $0
endsnippet
snippet lor "Logical or"
\\vee $0
endsnippet
snippet ubrace "Underbrace"
\\underbrace{$1}_{$2} $0
endsnippet
snippet fall "For all"
\\forall{$1}
$0
endsnippet
snippet paragraph "Paragraph"
\\paragraph{$1}
$0
endsnippet
snippet menge "Menge der __ Zahlen"
\\mathbb{$1}$0
endsnippet
snippet xdelete "Cross out"
\\xcancel{$1}$0
endsnippet
snippet -> "Right normal Arrow"
\\rightarrow $0
endsnippet
snippet larrow "Left normal Arrow"
\\leftarrow $0
endsnippet
snippet frac "Fracture"
\\frac{$1}{$2}$0
endsnippet
snippet mspace "Math Space"
\\quad $0
endsnippet
snippet mmspace "Math double Space"
\\qquad $0
endsnippet
snippet sum "Sum"
\\sum_{i=${1:0}}^{${2:n}} $3 \\qquad $0
endsnippet
snippet prod "Product"
\\prod_{i=${1:1}}^{${2:N}} \\quad $3 \\qquad$0
endsnippet
snippet ltab "Table environment"
\\begin{tabular}{${1:c c c}}
$0
\\end{tabular}
endsnippet
snippet ctab "Table column"
$1 & $2 & $3 \\\\\\
$0
endsnippet
snippet lltab "Large table environment"
\\begin{tabular}{${1:c c c c c}}
$0
\\end{tabular}
endsnippet
snippet cctab "Large column environment"
$1 & $2 & $3 & $4 & $5 \\\\\\
$0
endsnippet
snippet setab "Small table environment"
\\begin{center}
\\begin{tabular}{${1:c c}}
$1
\\end{tabular}
\\end{center}
$0
endsnippet
snippet sctab "Small table column"
$1 & $2 \\\\
\\\\
$0
endsnippet
snippet lquote "Low Quote"
´$1´$0
endsnippet
snippet fquote "Full Quote"
´$1´ \\textit{($2)}$0
endsnippet
snippet colorset "std colorset (6 colors)"
\\definecolor{red}{RGB}{228, 3, 3}
\\definecolor{orange}{RGB}{255, 140, 0}
\\definecolor{yellow}{RGB}{255, 237, 0}
\\definecolor{green}{RGB}{0, 128, 38}
\\definecolor{indigo}{RGB}{36, 64, 142}
\\definecolor{blue}{RGB}{36, 64, 142}
\\definecolor{violet}{RGB}{115, 41, 130}
endsnippet
snippet href "html reference"
\\href{https://${1:link}}{\\underline{\\textcolor{blue}{${2:Text}}}}$0
endsnippet
snippet *_ "Intervall/Isotope-Notation" i
^{$1}_{$2}$0
endsnippet
snippet hook "Reference to text"
\\hyperref[$1]{$2}$0
endsnippet
snippet curled "{ ... }"
\\left\\{ $0 \\right\\}
endsnippet
snippet round "( ... )"
\\left( $0 \\right)
endsnippet
snippet menc "Mathmode-text"
\\text{ $1 }$0
endsnippet
snippet period "Periodic number"
\\overline{$1}$0
endsnippet
snippet leq "lesser equal"
\\leq
endsnippet
snippet geq "greater equal"
\\geq
endsnippet
snippet let "lesser than"
<
endsnippet
snippet grt "greater than"
>
endsnippet
snippet case "if else mathstyle"
\\begin{cases}
$1 & \\quad \\text{$2}\\\\\\ $3 & \\quad \\text{$4}\\\\\\ \\end{cases}$0
endsnippet
snippet median "Median"
\\overset{\\thicksim}{$1}$0
endsnippet
snippet ival "Intervall"
\\interval[$1]{$2}{$3}$0
endsnippet
snippet mul "multiplication"
\\cdot
endsnippet
snippet root "nth root"
\\sqrt[${1:2}]{$2}$0
endsnippet
snippet sdef "Definition"
\\colorbox{blue!25}{Definition: $1} \\\\\\$0
endsnippet
snippet mlgs "Lineares Gleichungssytem"
\\begin{gather}
$0
\\end{gather}
endsnippet
snippet cobol "COBOL config"
\\lstset{ basicstyle=\\ttfamily\\small, language=COBOL, numbers=left, keywordstyle=\\color{blue}\\bfseries} $0
endsnippet
snippet '(.*)__' "sub" r
`!p snip.rv = match.group(1)`_{$1}$0
endsnippet
snippet '(.*)\*\*' "upup" r
`!p snip.rv = match.group(1)`^{$1}$0
endsnippet
snippet ... "dots"
\\dots
endsnippet
snippet fsf "text serif"
\\textsf{$1}$0
endsnippet
snippet fblk "text block"
\\texttt{$1}{$0}
endsnippet
snippet fit "text italic"
\\textit{$1}$0
endsnippet
snippet '//(.+)//' "Make Text italic" rA
\\textit{`!p snip.rv = match.group(1)`}$0
endsnippet
snippet fbf "text bold"
\\textbf{$1}$0
endsnippet
snippet '\*\*(.+)\*\*' "Make Text bold" rA
\\textbf{`!p snip.rv = match.group(1)`}$0
endsnippet
snippet bit "itemize"
\\begin{itemize}
\\item $1
\\end{itemize}
$0
endsnippet
snippet ben "enumerate"
\\begin{enumerate}
\\item $1
\\end{enumerate}
$0
endsnippet
snippet +ni+ "next item" A
\\item $1
endsnippet
snippet sch "chapter"
\\chapter{$1}$0
endsnippet
snippet sse "Section"
\\section{$1}$0
endsnippet
snippet sss "Subsection"
\\subsection{$1}$0
endsnippet
snippet ssn "Subsubsection"
\\subsubsection{$1}$0
endsnippet
snippet par "Paragraph"
\\paragraph{$1}$0
endsnippet
snippet mquote "max quote"
\`$1\` (${2:author} : \\textit{${3:source}}, ${4:year})$0
endsnippet
snippet qed "Quod erat demonstrantum"
\\begin{flushright}
$\#$
\\end{flushright}
$0
endsnippet
snippet <- "Easy Left"
\\leftarrow $0
endsnippet
snippet => "Double Right"
\\Rightarrow $0
endsnippet
snippet <= "Double Left"
\\Leftarrow $0
endsnippet
snippet circuit "Circuit environment"
\\colorbox{blue!10}{
\\begin{circuitikz}[european resistors]
$1
\\end{circuitikz}}
$0
endsnippet
snippet edraw "Draw into electric circuit"
\\draw(${1:0}, ${2:0})
$3
;
$0
endsnippet
snippet 'R "Insert Resistor"
to [R=$R_{$1}: $2 \Omega$, ${3:i =$i$}, ${4:*-*}] ($5, $6)
$0
endsnippet
snippet 'W "Wire"
to [short, ${1:i=$i$}, ${2:*-*}] ($3, $4)
$0
endsnippet
snippet 'V "Voltage"
to [V, v=$U_{$1}: $2V$, ${3:i=$i$}, ${4:*-*}] ($5, $6)
$0
endsnippet
snippet 'L "Coil"
to [L=$L_{$1}: $2H$, ${3:i=$i$}, ${4:*-*}] ($3, $4)
$0
endsnippet
snippet 'C "Capacitor"
to [C=$C_{$1}: $2F$, ${3:i=$i$}, ${4:*-*}] ($3, $4)
$0
endsnippet
snippet 'W' "Wired powerline"
to [short, ${1:*-*}] ($2, $3)
$0
endsnippet
snippet 'G "GROUND"
to [short] node[ground] {$1} ($2, $3)
$0
endsnippet
snippet 'SA "(Sende)-Antenne"
to [short] node[antenna] {$1} ($2, $3)
$0
endsnippet
snippet timenow "The current time"
`date`
endsnippet
snippet texmeta "Meta with stamp for better documentation"
% Bookmark `!p import random as ran
if not snip.c:
snip.rv = t[1][0] + str(ran.randint(10, 100))` Content ${1:Title} on `date` by `echo $USER`
$0
endsnippet
snippet lmth "List math with align" b
\\begin{align*}
$1
\\end{align*}
$0
endsnippet
snippet lexp "List math expression"
$1 &= ${2:First} & ${3:Second} \\\\
$0
endsnippet
snippet definition "Box with definition"
\\framebox{
\\colorbox{blue!25}{
\\begin{minipage}{1.0\\textwidth}
\\textbf{Definition: $1}\\\\
$2
\\end{minipage}}}
$0
endsnippet
snippet attention "Box for attention"
\\framebox{
\\colorbox{red!25}{
\\begin{minipage}{1.0\\textwidth}
\\textbf{Achtung: $1}\\\\
$2
\\end{minipage}}}
$0
endsnippet
snippet headline "Insert a Headline"
\\lhead{}
\\chead{\\rightmark}
\\rhead{\\date}
\\renewcommand{\\headrulewidth}{1pt}
endsnippet
snippet footline "Insert a footer"
\\lfoot{}
\\cfoot{}
\\rfoot{}
endsnippet
global !p
def create_table_tabs(snip):
anon_snippet_body = ""
# get start and end line number of (expanded) snippet
start = snip.snippet_start[0]
end = snip.snippet_end[0]
# Append current line into snippet
for i in range(start, end+1):
anon_snippet_body += snip.buffer[i]
anon_snippet_body += "" if i == end else '\n'
# delete expanded snippet line while preserving the line
for i in range(start, end):
del snip.buffer[start]
# Empty last line, while preserving the line
snip.buffer[start] = ''
# Expand anonymous snippet
snip.expand_anon(anon_snippet_body)
def create_table(cols, rows, sep, start, end, head="##"):
res = ""
placeholder = 1
for _ in range(0, int(rows)):
res += start + head.replace("##", f"${placeholder} ")
placeholder += 1
for _ in range(0, int(cols) - 1):
res += sep + head.replace("##", f" ${placeholder} ")
placeholder += 1
res += end
return res[:-1]
endglobal
post_jump "create_table_tabs(snip)"
snippet 'table(\d+),(\d+)' "Table with given row and column count" r
\begin{center}
\begin{tabular}{`!p
orient = "c"
for _ in range(0, int(match.group(1))): orient += " c"
snip.rv = orient`}
`!p
snip.rv = create_table(match.group(1), match.group(2), "&", "\t", "\\\\\\\\\n")
`$0
\end{tabular}
\end{center}
endsnippet
post_jump "create_table_tabs(snip)"
snippet 'matrix(\d+),(\d+)' "Matrix with given row and column count" r
\begin{pmatrix}
`!p
snip.rv = create_table(match.group(1), match.group(2), "&", "\t", "\\\\\\\\\n")
`$0
\end{pmatrix}
endsnippet

6
UltiSnips/pyenv.snippets Normal file
View File

@ -0,0 +1,6 @@
global !p
def print_hello():
print("Hello")
endglobal

View File

@ -1,4 +1,17 @@
snippet docmodule "Documentation for modules" A snippet helloworld "Hello world example" b
"""
File: `!p snip.rv = fn`
Author: Nicki
Created on: `date`
Description: Hello world python example
"""
if __name__ == "__main__":
print("Hello world!")
$0
endsnippet
snippet docmodule "Documentation for modules"
""" """
File: `!p snip.rv = fn` File: `!p snip.rv = fn`
Author: ${1:Yannick Reiß} Author: ${1:Yannick Reiß}
@ -8,25 +21,26 @@ Description: ${2:No further description}
$0 $0
endsnippet endsnippet
snippet def "Python Function" A snippet def "Python Function"
def ${1:function}(${2}): def ${1:function}(${2}):
""" """
@name $1 @name $1
@brief ${3:function description} @brief ${3:function description}
Args: Args:
`!p `!p
params = t[2].replace(", ", ",").split(",") params = t[2].replace(", ", ",").split(",")
snip.rv = "" snip.rv = ""
for param in params: for param in params:
snip.rv += f"@param {param}" snip.rv += f"\t\t@param {param}\n"
` `
Returns: Returns:
$4 ${5:description} @return $4
""" """
$6 $5
`!p `!p
if t[4] != "": if t[4] != "" and len(t[4].split(":")) > 1:
snip.rv = f"\n\treturn {t[4]}"` snip.rv = f"return {t[4].split(':')[0]}"`
$0 $0
endsnippet endsnippet

View File

@ -1,3 +1,14 @@
snippet helloworld "Hello world example" b
// @name main
// @return
// @brief Hello world example.
// @param
fn main() {
println!("Hello World!");
}
$0
endsnippet
snippet fn "function declaration" i snippet fn "function declaration" i
// @name $1 // @name $1
// @return $3 // @return $3
@ -13,13 +24,6 @@ else:
$0 $0
endsnippet endsnippet
snippet doxygen "Doxygen comment" b
// @name ${1:name}
// @return ${2:Return type}
// @param ${3:Parameter}
// @brief ${4:Description}
endsnippet
snippet struct "struct declaration" snippet struct "struct declaration"
// $1 // $1
// ${2:Description} // ${2:Description}
@ -50,28 +54,6 @@ while $1 {
} $0 } $0
endsnippet endsnippet
global !p
import re
def create_parameter_placeholders(snip):
placeholders_amount = int(snip.buffer[snip.line].strip())
snip.buffer[snip.line] = ''
anon_snippet_body = 'println!("' + '{}'.join(['$' + str(i+1) for i in range(placeholders_amount)]) + f"${placeholders_amount}" + '"'
if placeholders_amount > 0:
anon_snippet_body = anon_snippet_body + ', '
anon_snippet_body = anon_snippet_body + ', '.join(['$' + str(i+1) for i in range(placeholders_amount, 2*placeholders_amount)]) + ");"
snip.expand_anon(anon_snippet_body)
endglobal
post_jump "create_parameter_placeholders(snip)"
snippet "print\d+" "println" rA
`!p snip.rv = match.group(1)`
endsnippet
snippet println "println" A snippet println "println" A
println!("$1");$0 println!("$1");$0
endsnippet endsnippet

View File

@ -4,3 +4,9 @@ $4
`!p snip.rv = "endsnippet"` `!p snip.rv = "endsnippet"`
$0 $0
endsnippet endsnippet
snippet helloworld "A simple hello world snippet" b
${0:`!p
if not snip.c:
snip.rv = f'snippet helloworld "A simple hello world snippet" b\n{t[0]}\nendsnippet'`}
endsnippet

View File

@ -1,3 +1,9 @@
extends pyenv
snippet cc "Add Citation" i
\\cite{$1}$0
endsnippet
snippet colx "textcolor" snippet colx "textcolor"
\\textcolor{${1:red}}{$2}$0 \\textcolor{${1:red}}{$2}$0
endsnippet endsnippet
@ -64,6 +70,7 @@ snippet img "Images"
\\centering \\centering
\\includegraphics[width=${2:0.8}\\linewidth]{${3}} \\includegraphics[width=${2:0.8}\\linewidth]{${3}}
\\caption{${4:Abbildung}} \\caption{${4:Abbildung}}
\\label{img:`!p snip.rv = t[4].lower().replace(" ", "_")`}
\\end{figure} \\end{figure}
$0 $0
endsnippet endsnippet
@ -264,23 +271,28 @@ snippet - "new item" b
endsnippet endsnippet
snippet sch "chapter" snippet sch "chapter"
\\chapter{$1}$0 \\chapter{$1}
\\label{chapter:`!p snip.rv = get_label(t[1])`}$0
endsnippet endsnippet
snippet sse "Section" snippet sse "Section"
\\section{$1}$0 \\section{$1}
\\label{section:`!p snip.rv = get_label(t[1])`}$0
endsnippet endsnippet
snippet sss "Subsection" snippet sss "Subsection"
\\subsection{$1}$0 \\subsection{$1}
\\label{subsection:`!p snip.rv = get_label(t[1])`}$0
endsnippet endsnippet
snippet ssn "Subsubsection" snippet ssn "Subsubsection"
\\subsubsection{$1}$0 \\subsubsection{$1}
\\label{subsubsection:`!p snip.rv = get_label(t[1])`}$0
endsnippet endsnippet
snippet par "Paragraph" snippet par "Paragraph"
\\paragraph{$1}$0 \\paragraph{$1}
\\label{paragraph:`!p snip.rv = get_label(t[1])`}$0
endsnippet endsnippet
snippet mquote "max quote" snippet mquote "max quote"
@ -373,6 +385,16 @@ def create_table(cols, rows, sep, start, end, head="##"):
placeholder += 1 placeholder += 1
res += end res += end
return res[:-1] return res[:-1]
def get_label(title):
return_label = title.lower()
return_label = return_label.replace(" ", "_")
return_label = return_label.replace("ä", "ae")
return_label = return_label.replace("ö", "oe")
return_label = return_label.replace("ü", "ue")
return_label = return_label.replace("-", "__")
return return_label
endglobal endglobal
post_jump "create_table_tabs(snip)" post_jump "create_table_tabs(snip)"
@ -459,7 +481,7 @@ snippet _- "Escape _ easier" iA
\\_ \\_
endsnippet endsnippet
snippet bsp "Beispielsweise" iA snippet bsp "Beispielsweise" A
beispielsweise beispielsweise
endsnippet endsnippet
@ -467,23 +489,12 @@ snippet ß "Backslash" A
\\ \\
endsnippet endsnippet
snippet bibbook "Add a new book/journal/paper reference" b snippet \0 "Add another Backslash" iA
\\bibitem{${1:Reference_name}} \\\\
${2:Author}. (${3:2023}) \`${4:Title}'. ${5:Extension} `!p
if t[6] == "":
snip.rv = ""
elif "-" in t[6]:
snip.rv = "Seiten "
else:
snip.rv = "Seite"
`$6`!p
if t[6] == "":
snip.rv = ""
else:
snip.rv = "."`
$0
endsnippet endsnippet
snippet cc "Cite" A snippet setenv "Set Environment around Text" b
\\cite{$1}$0 \\begin{$1}
${VISUAL}
\\end{$1}$0
endsnippet endsnippet

View File

@ -1,60 +0,0 @@
snippet entry "Add new entry" bA
-----------------------------------------------------------
--- Title: $1
--- Date: ${2:`date`}
--- Author: ${3:`whoami`}
--- Host: `hostname`
-----------------------------------------------------------
Tags: $4
$5
-----------------------------------------------------------
$0
endsnippet
snippet 1) "Enumerated List" b
1) $1
`!p
if t[1] == "":
index = 2
if " \n" in t[1]:
t[1] = t[1].replace(" \n", f"\n{index})")
index += 1`
$0
endsnippet
snippet - "Itemized List" b
- $1
`!p
t[1] = t[1].replace(" \n", f"\n-")`
$0
endsnippet
global !p
def complete(t, opts):
if t:
opts = [ m[len(t):] for m in opts if m.startswith(t)]
if len(opts) == 1:
return opts[0]
else:
return f"({'|'.join(opts)})"
endglobal
snippet mgl "DLRG neues Mitglied" b
${1:Num}|${2:Eintrittsdatum}`!p
if t[2] != "Eintrittsdatum" and len(t[2]) == 8:
if len(t[2]) > 2:
t[2] = f"{t[2][0:2]}.{t[2][2:]}"
if len(t[2]) > 4:
t[2] = f"{t[2][:5]}.{t[2][5:]}"
`|${3:Geburtsdatum}`!p
if t[3] != "Geburtsdatum" and len(t[3]) == 8:
if len(t[3]) > 2:
t[3] = f"{t[3][0:2]}.{t[3][2:]}"
if len(t[3]) > 4:
t[3] = f"{t[3][:5]}.{t[3][5:]}"
`|${4:PLZ}|${5}`!p snip.rv= complete(t[5], ['Offenbach', 'Hanau', 'Mühlheim', 'Frankfurt'])`|${6:Adresse}|${7:Nachname}`!p t[7] = t[7].upper()`, ${8:Vorname}
endsnippet

View File

@ -61,3 +61,7 @@ snippet def "Definition/Constant" b
\`define ${1:NAME} ${2:VALUE} \`define ${1:NAME} ${2:VALUE}
$0 $0
endsnippet endsnippet
snippet filename "Get Filename" b
// `pwd`/`!p snip.rv = fn`
endsnippet

View File

@ -49,7 +49,7 @@ endsnippet
snippet docstring "Header Comment" A snippet docstring "Header Comment" A
-- `!p snip.rv = fn` -- `!p snip.rv = fn`
-- Created on: `date` -- Created on: `date`
-- Author(s): ${1:Alexander Graf, Carl Ries, Yannick Reiß} -- Author(s): ${1:Nina Chloé Reiß}
-- Content: ${2: Entity `!p snip.rv = fn.split('.')[0]`} -- Content: ${2: Entity `!p snip.rv = fn.split('.')[0]`}
$0 $0
endsnippet endsnippet
@ -73,3 +73,7 @@ endsnippet
snippet regflit "reg_idx from literal" iA snippet regflit "reg_idx from literal" iA
std_logic_vector(to_unsigned('${1:Literal}', reg_adr_size)); std_logic_vector(to_unsigned('${1:Literal}', reg_adr_size));
endsnippet endsnippet
snippet fillvec "Stdout to fill a vector" A
(others => '0')
endsnippet

View File

@ -1,5 +1,3 @@
snippet fun "Lua function" b snippet nnoremap "Normal mode remap" b
function ${1:name}() nnoremap ${1:<leader>key} $2$0
$2
endfunction$0
endsnippet endsnippet

5
UltiSnips/xml.snippets Normal file
View File

@ -0,0 +1,5 @@
snippet << "automated tag insertion" A
<${1:tag}>
$2
</${1/(\w+).*/$1/}>$0
endsnippet

View File

@ -1,7 +1,8 @@
-- Basic setup configuration -- Basic setup configuration
vim.cmd("source ~/.config/nvim/viml/vanilla.vim")
require("vanilla") require("vanilla")
vim.cmd("source ~/.config/nvim/viml/automacro.vim")
-- Lazy plugin setup -- Lazy plugin setup
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then if not vim.loop.fs_stat(lazypath) then
@ -19,9 +20,3 @@ vim.opt.rtp:prepend(lazypath)
require("lazy").setup("plugins") require("lazy").setup("plugins")
require("plugconfig") require("plugconfig")
require("confformat")
vim.cmd("source ~/.config/nvim/viml/plugconfig.vim")
local plugtestbench = require("plugbench")

View File

@ -1,38 +0,0 @@
{
"UltiSnips": { "branch": "master", "commit": "b393ba65386d47664421e1f8b246a87a6e8b218c" },
"barbar.nvim": { "branch": "master", "commit": "71ac376acd000743146b1e08e62151b4d887bbac" },
"bufstop": { "branch": "master", "commit": "e453ed3f03d53df9e8ba69225fbe523cf44b1b13" },
"cyberspace.vim": { "branch": "master", "commit": "8d002ef6a449f08025d75249078ecae75a136a2d" },
"formatter.nvim": { "branch": "master", "commit": "cb4778b8432f1ae86dae4634c0b611cb269a4c2f" },
"fuzzy.nvim": { "branch": "master", "commit": "67a42ad2fa6d5ff41f0ef3cf69bb247410da5d7a" },
"git-blame.nvim": { "branch": "master", "commit": "196602b570b1d754b7b8f9a9f75fa7bd88f12ef8" },
"indent-blankline.nvim": { "branch": "master", "commit": "821a7acd88587d966f7e464b0b3031dfe7f5680c" },
"lazy.nvim": { "branch": "main", "commit": "aedcd79811d491b60d0a6577a9c1701063c2a609" },
"lexima.vim": { "branch": "master", "commit": "5513d686801993b40c55baa65602f79cd3cf3c77" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "fe4cce44dec93c69be17dad79b21de867dde118a" },
"mason.nvim": { "branch": "main", "commit": "c43eeb5614a09dc17c03a7fb49de2e05de203924" },
"nerdtree": { "branch": "master", "commit": "bdf81a086dd271571104a11f555b79e5cdff5dc5" },
"nerdtree-git-plugin": { "branch": "master", "commit": "e1fe727127a813095854a5b063c15e955a77eafb" },
"nvim-dap": { "branch": "master", "commit": "fc880e82059eb21c0fa896be60146e5f17680648" },
"nvim-doxyscan": { "branch": "master", "commit": "2c266fdb9395d6afa5d7188f8212fd7757193990" },
"nvim-lspconfig": { "branch": "master", "commit": "1699ce10c3aaf861cfa0c1303fcd19d2ed93e7ad" },
"nvim-sourcer": { "branch": "main", "commit": "a2f6bc737a63a208d39fcc5c211076ea5aa9f390" },
"nvim-treesitter": { "branch": "master", "commit": "917d696592a34917a12208f579d5e72c1a904aee" },
"nvim-ts-rainbow": { "branch": "master", "commit": "ef95c15a935f97c65a80e48e12fe72d49aacf9b9" },
"nvim-web-devicons": { "branch": "master", "commit": "14ac5887110b06b89a96881d534230dac3ed134d" },
"plenary.nvim": { "branch": "master", "commit": "4f71c0c4a196ceb656c824a70792f3df3ce6bb6d" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" },
"telescope-ultisnips.nvim": { "branch": "main", "commit": "d1cca4b5aa809a90b7a8caddeb860329d5a8c2ff" },
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
"tokyonight.nvim": { "branch": "main", "commit": "610179f7f12db3d08540b6cc61434db2eaecbcff" },
"vim-airline": { "branch": "master", "commit": "d9f42cb46710e31962a9609939ddfeb0685dd779" },
"vim-airline-themes": { "branch": "master", "commit": "a9aa25ce323b2dd04a52706f4d1b044f4feb7617" },
"vim-devicons": { "branch": "master", "commit": "71f239af28b7214eebb60d4ea5bd040291fb7e33" },
"vim-easycomplete": { "branch": "master", "commit": "dcad32ab5e935bf3042208803c09f5fc8b25adc5" },
"vim-monokai-tasty": { "branch": "master", "commit": "57c67feac63158a232c43aee2f463a994029b699" },
"vim-speeddating": { "branch": "master", "commit": "5a36fd29df63ea3f65562bd2bb837be48a5ec90b" },
"vim-startify": { "branch": "master", "commit": "4e089dffdad46f3f5593f34362d530e8fe823dcf" },
"vim-startuptime": { "branch": "master", "commit": "308b0088a864c4711a96e45b6734cf9294074f65" },
"vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" },
"vim-visual-multi": { "branch": "master", "commit": "cff14071098de5279743b009c496303995fe4df9" }
}

View File

@ -1,72 +0,0 @@
This is LuaHBTeX, Version 1.17.0 (TeX Live 2023/Arch Linux) (format=lualatex 2023.7.21) 16 AUG 2023 18:24
restricted system commands enabled.
**viml/legacyconf.vim
(./viml/legacyconf.vim
LaTeX2e <2022-11-01> patch level 1
Lua module: luaotfload 2022-10-03 3.23 Lua based OpenType font support
Lua module: lualibs 2022-10-04 2.75 ConTeXt Lua standard libraries.
Lua module: lualibs-extended 2022-10-04 2.75 ConTeXt Lua libraries -- extended c
ollection.
luaotfload | conf : Root cache directory is "/home/nick/.texlive/texmf-var/luate
x-cache/generic/names".
luaotfload | init : Loading fontloader "fontloader-2022-10-03.lua" from kpse-res
olved path "/usr/share/texmf-dist/tex/luatex/luaotfload/fontloader-2022-10-03.lu
a".
Lua-only attribute luaotfload@noligature = 1
luaotfload | init : Context OpenType loader version 3.120
Inserting `luaotfload.node_processor' in `pre_linebreak_filter'.
Inserting `luaotfload.node_processor' in `hpack_filter'.
Inserting `luaotfload.glyph_stream' in `glyph_stream_provider'.
Inserting `luaotfload.define_font' in `define_font'.
Lua-only attribute luaotfload_color_attribute = 2
luaotfload | conf : Root cache directory is "/home/nick/.texlive/texmf-var/luate
x-cache/generic/names".
Inserting `luaotfload.harf.strip_prefix' in `find_opentype_file'.
Inserting `luaotfload.harf.strip_prefix' in `find_truetype_file'.
Removing `luaotfload.glyph_stream' from `glyph_stream_provider'.
Inserting `luaotfload.harf.glyphstream' in `glyph_stream_provider'.
Inserting `luaotfload.harf.finalize_vlist' in `post_linebreak_filter'.
Inserting `luaotfload.harf.finalize_hlist' in `hpack_filter'.
Inserting `luaotfload.cleanup_files' in `wrapup_run'.
Inserting `luaotfload.harf.finalize_unicode' in `finish_pdffile'.
Inserting `luaotfload.glyphinfo' in `glyph_info'.
Lua-only attribute luaotfload.letterspace_done = 3
Inserting `luaotfload.aux.set_sscale_dimens' in `luaotfload.patch_font'.
Inserting `luaotfload.aux.set_font_index' in `luaotfload.patch_font'.
Inserting `luaotfload.aux.patch_cambria_domh' in `luaotfload.patch_font'.
Inserting `luaotfload.aux.fixup_fontdata' in `luaotfload.patch_font_unsafe'.
Inserting `luaotfload.aux.set_capheight' in `luaotfload.patch_font'.
Inserting `luaotfload.aux.set_xheight' in `luaotfload.patch_font'.
Inserting `luaotfload.rewrite_fontname' in `luaotfload.patch_font'. L3 programm
ing layer <2023-02-22>
Inserting `tracingstacklevels' in `input_level_string'.
! LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.1 "
NERDTree remap
?
! Emergency stop.
...
l.1 "
NERDTree remap
You're in trouble here. Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.
Here is how much of LuaTeX's memory you used:
21 strings out of 478285
100000,1977958 words of node,token memory allocated 333 words of node memory still in use:
2 hlist, 1 local_par, 1 dir, 1 glue, 3 kern, 1 glyph, 3 attribute, 39 glue_sp
ec, 3 attribute_list, 1 temp nodes
avail lists: 2:5,3:3,4:1,5:1,7:1
20343 multiletter control sequences out of 65536+600000
14 fonts using 591679 bytes
13i,0n,12p,58b,15s stack positions out of 10000i,1000n,20000p,200000b,200000s
! ==> Fatal error occurred, no output PDF file produced!

67
lua/ada_mode.lua Normal file
View File

@ -0,0 +1,67 @@
-- Lua vim-dummy variable
if vim == nil then
local vim = {}
end
-- @name Prove
-- @param
-- @short Run gnatprove
function Prove()
vim.cmd("new")
local run_cmd = { "alr gnatprove" }
vim.api.nvim_buf_set_lines(0, 0, -1, false, run_cmd)
vim.cmd(":%!bash")
buffer_loaded = true
end
-- @name Run
-- @param
-- @short Run program using alire
function Run()
vim.cmd("new")
local run_cmd = { "alr run" }
vim.api.nvim_buf_set_lines(0, 0, -1, false, run_cmd)
vim.cmd(":%!bash")
buffer_loaded = true
end
function Close_Prove()
if buffer_loaded then
buffer_loaded = false
vim.cmd("bd!")
end
end
vim.keymap.set("n", "pp", ":lua Close_Prove()<cr>")
vim.keymap.set("n", "<leader>pp", ":lua Prove()<cr>")
vim.keymap.set("n", "<leader>op", ":lua Run()<cr>")
-- @name setup_ada
-- @param
-- @short Verify installation of ada tools or install them.
local function setup_ada()
vim.keymap.set("n", "<leader>cb", ":!gnatpp %<cr>")
vim.opt.tabstop = 3
vim.opt.shiftwidth = 3
end
-- Setup and verify ada tools when opening a ada file
vim.api.nvim_create_autocmd({ "BufEnter" }, {
pattern = { "*.adb", "*.ads" },
callback = setup_ada,
})
-- @name leave_ada
-- @param
-- @short Leave ada and reverse any changes to my editor defaults
local function leave_ada()
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
end
vim.api.nvim_create_autocmd({ "BufLeave" }, {
pattern = { "*.adb", "*.ads" },
callback = leave_ada,
})

View File

@ -4,29 +4,127 @@
-- preview: show more details -- preview: show more details
vim.opt.completeopt = { "menu", "menuone" } vim.opt.completeopt = { "menu", "menuone" }
vim.g.easycomplete_cursor_word_hl = 1 -- shortmess is used to reduce verbocity
vim.g.easycomplete_nerd_font = 1 -- vim.opt.shortmess = vim.opt.shortmess + { c = true }
local cmp = require("cmp")
cmp.setup({
-- configuration
snippet = {
expand = function(args)
vim.fn["UltiSnips#Anon"](args.body)
end,
},
-- Bind reference and navigation options (using f as primary) -- Add borders to the windows
vim.keymap.set("n", "fr", ":EasyCompleteReference<CR>") view = {
vim.keymap.set("n", "fd", ":EasyCompleteGotoDefinition<CR>") entries = "custom",
vim.keymap.set("n", "fn", ":EasyCompleteRename<CR>") },
vim.keymap.set("n", "fb", ":BackToOriginalBuffer<CR>") window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
vim.g.easycomplete_pum_format = { "kind", "abbr", "menu" } -- experimental settings
vim.cmd([[ experimental = {
hi EasyFuzzyMatch guifg=lightblue ghost_text = {},
]]) },
vim.g.easycomplete_directory_enable = 1
vim.g.easycomplete_tab_trigger = "<c-j>" -- mapping
vim.g.easycomplete_shift_tab_trigger = "<c-k>" mapping = cmp.mapping.preset.insert({
-- Shift+TAB to go to the Previous Suggested item
["<C-k>"] = cmp.mapping.select_prev_item(),
-- Tab to go to the next suggestion
["<C-j>"] = cmp.mapping.select_next_item(),
-- CTRL+SHIFT+f to scroll backwards in description
["<C-S-f>"] = cmp.mapping.scroll_docs(-4),
-- CTRL+F to scroll forwards in the description
["<C-f>"] = cmp.mapping.scroll_docs(4),
-- CTRL+SPACE to bring up completion at current Cursor location
["<C-Space>"] = cmp.mapping.complete(),
-- CTRL+e to exit suggestion and close it
["<C-d>"] = cmp.mapping.close(), -- TODO: Search better option
-- CR (enter or return) to CONFIRM the currently selection suggestion
-- We set the ConfirmBehavior to insert the Selected suggestion
["<CR>"] = cmp.mapping.confirm({
behavior = cmp.ConfirmBehavior.Insert,
select = true,
}),
}),
-- Diagnostics -- installed sources for code suggestion
vim.g.easycomplete_diagnostics_next = "<c-n>" sources = cmp.config.sources({
vim.g.easycomplete_diagnostics_prev = "<c-p>" { name = "ultisnips", keyword_length = 1 },
vim.g.easycomplete_signature_offset = 0 { name = "path" },
vim.g.easycomplete_diagnostics_enable = 1 { name = "nvim_lsp", keyword_length = 2 },
vim.g.easycomplete_signature_enable = 1 { name = "nvim_lsp_signature_help" },
vim.g.easycomplete_diagnostics_hover = 1 { name = "nvim_lua", keyword_length = 2 },
vim.g.easycomplete_lsp_checking = 0 -- suppress warning on startup, must run LSPInstall manually { name = "buffer", keyword_length = 2 },
{ name = "calc" },
{ name = "lua-latex-symbols", option = { cache = true } },
{ name = "cmp_tabnine", keyword_length = 20 },
-- { name = "fuzzy_buffer", keyword_length = 4 },
}),
-- add formatting of the different sources
formatting = {
fields = { "menu", "abbr", "kind" },
format = function(entry, item)
local menu_icon = {
ultisnips = "Φ",
nvim_lsp = "λ",
path = "󰴠",
calc = "Σ",
buffer = "",
lualatexsymbols = "󰿈",
spell = "󰘝",
fuzzy_buffer = "",
cmp_tabnine = "🖳",
}
item.menu = menu_icon[entry.source.name]
return item
end,
},
})
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline({ "/", "?" }, {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = "buffer" },
{ name = "fuzzy_path", keyword_length = 4 },
},
formatting = {
fields = { "menu", "abbr", "kind" },
format = function(entry, item)
local menu_icon = {
buffer = "󰱼",
fuzzy_path = "",
}
item.menu = menu_icon[entry.source.name]
return item
end,
},
})
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline(":", {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = "path" },
{ name = "cmdline_history", keyword_length = 24 },
}, {
{ name = "cmdline", keyword_length = 1 },
}),
formatting = {
fields = { "menu", "abbr", "kind" },
format = function(entry, item)
local menu_icon = {
path = "󰙅",
cmdline = "",
cmdline_history = "󰂺 ",
}
item.menu = menu_icon[entry.source.name]
return item
end,
},
})

View File

@ -12,8 +12,6 @@ require("formatter").setup({
-- Formatter configurations for filetype "lua" go here -- Formatter configurations for filetype "lua" go here
-- and will be executed in order -- and will be executed in order
lua = { lua = {
-- "formatter.filetypes.lua" defines default configurations for the
-- "lua" filetype
require("formatter.filetypes.lua").stylua, require("formatter.filetypes.lua").stylua,
}, },
@ -45,6 +43,34 @@ require("formatter").setup({
require("formatter.filetypes.rust").rustfmt, require("formatter.filetypes.rust").rustfmt,
}, },
haskell = {
function()
-- Full specification of configurations is down below and in Vim help
-- files
return {
exe = "fourmolu",
args = {
util.escape_path(util.get_current_buffer_file_path()),
},
stdin = true,
}
end,
},
vhdl = {
function()
-- Full specification of configurations is down below and in Vim help
-- files
return {
exe = "vhdlfmt",
args = {
util.escape_path(util.get_current_buffer_file_path()),
},
stdin = true,
}
end,
},
-- Use the special "*" filetype for defining formatter configurations on -- Use the special "*" filetype for defining formatter configurations on
-- any filetype -- any filetype
["*"] = { ["*"] = {
@ -54,3 +80,13 @@ require("formatter").setup({
}, },
}, },
}) })
-- Formatter autocommands
vim.cmd([[
augroup FormatAutogroup
autocmd!
autocmd BufWritePost * FormatWrite
augroup END
autocmd BufWritePost *.v lua vim.lsp.buf.format({ async = false })
]])

View File

@ -0,0 +1,34 @@
-- Ale configuration
vim.g.ale_linters_explicit = 0
local linters = {
python = { "pylint" },
vim = { "vint" },
cpp = { "clang" },
c = { "clang" },
markdown = { "languagetool" },
latex = { "proselint" },
tex = { "proselint" },
plaintex = { "proselint" },
ada = { "gnat", "gcc", "adals", "cspell" },
}
local fixers = {
ada = { "gnatpp" },
asm = { "gcc" },
bash = { "bashate" },
c = { "astyle" },
latex = { "texlab", "textlint" },
tex = { "textlint" },
lua = { "stylua" },
markdown = { "prettier", "pandoc" },
python = { "yapf" },
pascal = { "ptop" },
haskell = { "fourmolu" },
}
vim.g.ale_linters = linters
vim.g.ale_fix_on_save = 0
vim.g.ale_fixers = fixers
vim.keymap.set("n", "<leader>lf", ":ALEFix<CR>")
vim.keymap.set("n", "<leader>lp", ":ALEFindReferences<CR>")

90
lua/lspconfiguration.lua Normal file
View File

@ -0,0 +1,90 @@
-- Mason setup
require("mason").setup(require("mason").setup({
ui = {
icons = {
package_installed = "",
package_pending = "󰔟",
package_uninstalled = "",
},
},
}))
require("mason-lspconfig").setup({
ensure_installed = {
"lua_ls",
},
})
-- require("mason-lspconfig").setup_handlers({
-- function(asm_lsp)
-- require("lspconfig")[asm_lsp].setup({})
-- end,
-- function(clangd)
-- require("lspconfig")[clangd].setup({})
-- end,
-- function(lua_ls)
-- require("lspconfig")[lua_ls].setup({})
-- end,
-- function(hls)
-- require("lspconfig")[hls].setup({})
-- end,
-- function(rust_analyzer)
-- require("lspconfig")[rust_analyzer].setup({})
-- end,
-- function(vhdl_ls)
-- require("lspconfig")[vhdl_ls].setup({})
-- end,
-- function(verible)
-- require("lspconfig")[verible].setup({})
-- end,
-- function(vimls)
-- require("lspconfig")[vimls].setup({})
-- end,
-- function(texlab)
-- require("lspconfig")[texlab].setup({})
-- end,
-- function(als)
-- require("lspconfig")[als].setup({})
-- end,
-- })
require("lspconfig").verible.setup({
cmd = { "verible-verilog-ls", "--rules_config_search" },
})
-- @name file_exists
-- @param (name
-- @short Check if a file does exists (i. e. an ada project file)
local function file_exists(name)
local f = io.open(name, "r")
return f ~= nil and io.close(f)
end
-- @name get_config_file
-- @param
-- @short Get the configuration file.
local function get_config_file()
local filename = vim.api.nvim_buf_get_name(0)
local basedirectory = filename:gsub("/[^%/]-$", "")
local currentdirectory = filename:match("[^%/]-$")
if file_exists(basedirectory .. currentdirectory .. ".gpr") then
return basedirectory .. currentdirectory .. ".gpr"
else
basedirectory = basedirectory:gsub("/[^%/]-$", "")
currentdirectory = filename:match("[^%/]-$")
if file_exists(basedirectory .. currentdirectory .. ".gpr") then
return basedirectory .. currentdirectory .. ".gpr"
else
return "default.gpr"
end
end
end
require("lspconfig").als.setup({
settings = {
ada = {
projectFile = get_config_file(),
},
},
})

View File

@ -1,23 +0,0 @@
-- default config:
require("peek").setup({
auto_load = true, -- whether to automatically load preview when
-- entering another markdown buffer
close_on_bdelete = true, -- close preview window on buffer delete
syntax = true, -- enable syntax highlighting, affects performance
theme = "dark", -- 'dark' or 'light'
update_on_change = true,
app = "webview", -- 'webview', 'browser', string or a table of strings
-- explained below
filetype = { "markdown" }, -- list of filetypes to recognize as markdown
-- relevant if update_on_change is true
throttle_at = 200000, -- start throttling when file exceeds this
-- amount of bytes in size
throttle_time = "auto", -- minimum amount of time in milliseconds
-- that has to pass before starting new render
})

24
lua/navigation.lua Normal file
View File

@ -0,0 +1,24 @@
-- Bufstop
vim.keymap.set("n", "<M-w>", ":bdelete<CR>")
vim.keymap.set("n", "<C-y>", ":BufstopFast<CR>")
-- NERDTree Config
vim.g.NERDTreeShowHidden = 1
vim.keymap.set("n", "<C-e>", ":NERDTreeToggle<CR>")
-- Telescope snippet
local builtin = require("telescope.builtin")
vim.keymap.set("n", "<leader>ff", builtin.find_files, {})
vim.keymap.set("n", "<leader>fg", builtin.live_grep, {})
vim.keymap.set("n", "<c-f>", builtin.current_buffer_fuzzy_find, {})
vim.keymap.set("n", "<leader>fh", builtin.help_tags, {})
vim.keymap.set("n", "<leader>fc", builtin.commands, {})
-- Telescope + Ultisnips
require("telescope").load_extension("ultisnips")
vim.keymap.set("n", "<leader>fs", require("telescope").extensions.ultisnips.ultisnips, {})
-- Tagbar
vim.keymap.set("n", "<F8>", ":TagbarToggle<CR>") -- permanent window
vim.keymap.set("n", "<C-j>", ":TagbarOpenAutoClose<CR>") -- select, jump, close
vim.g.tagbar_autoclose = 0 -- do not autoclose after selection

56
lua/pascal_mode.lua Normal file
View File

@ -0,0 +1,56 @@
-- Lua vim-dummy variable
if vim == nil then
local vim = {}
end
-- @name setup_pascal
-- @param
-- @short Verify installation of pascal tools or install them.
local function setup_pascal()
local check_ptop = { os.execute("which ptop") }
-- if return value is 1, get ptop
if check_ptop == 1 then
os.execute("wget -O ~/.local/bin/ptop https://www.nickr.eu/data/ptop64")
os.execute("chmod +x ~/.local/bin/ptop")
end
vim.opt.spell = false
end
-- Setup and verify pascal tools when opening a pascal file
vim.api.nvim_create_autocmd({ "BufEnter" }, {
pattern = { "*.pas" },
callback = setup_pascal,
})
-- @name leave_pascal
-- @param
-- @short Leave pascal and reverse any changes to my editor defaults
local function leave_pascal()
vim.opt.spell = true
end
vim.api.nvim_create_autocmd({ "BufLeave" }, {
pattern = { "*.pas" },
callback = leave_pascal,
})
-- @name auto_format
-- @param
-- @short The format function for pascal.
local function auto_format()
vim.cmd("checktime %")
local write_cmd = "ptop -i 4 -c ~/.config/nvim/ptop.conf "
.. vim.api.nvim_buf_get_name(0)
.. " "
.. vim.api.nvim_buf_get_name(0)
os.execute(write_cmd)
vim.cmd("checktime %")
end
-- Add formatter command
--vim.api.nvim_create_autocmd({ "BufWritePost" }, {
-- pattern = { "*.pas" },
-- callback = auto_format,
--})

View File

@ -1,31 +0,0 @@
local M = {}
-- Delete area in between the current and next occurrence of the current symbol under cursor.
-- use builtin functionality for opening brackets
function M.Delete_interval()
-- TODO: Think of something
end
-- resize current window using control + 7,8,9,0
function M.Resize_Current_Window(change_width, change_height)
local width = vim.api.nvim_win_get_width(0)
local height = vim.api.nvim_win_get_height(0)
if width + change_width > 5 then
vim.api.nvim_win_set_width(0, width + change_width)
end
if height + change_height > 5 then
vim.api.nvim_win_set_height(0, height + change_height)
end
end
-- Keybindings
-- 7/8 change width
-- 9/0 change height
--vim.keymap.set("n", "<C-7>", Resize_Current_Window(-1, 0))
--vim.keymap.set("n", "<C-8>", Resize_Current_Window(1, 0))
--vim.keymap.set("n", "<C-9>", Resize_Current_Window(0, -1))
--vim.keymap.set("n", "<C-0>", Resize_Current_Window(0, 1))
return M

View File

@ -1,69 +1,60 @@
-- UltiSnips Configuration -- VHDL mode (Vanilla with shell interaction)
vim.g.UltiSnipsExpandTrigger = "<tab>" require("vhdl_mode")
vim.g.UltiSnipsJumpForwardTrigger = "<c-l>"
vim.g.UltiSnipsJumpBackwardTrigger = "<c-h>"
vim.g.UltiSnipsEditSplit = "vertical"
vim.g.UltiSnipsSnippetDirectories = { "~/.config/nvim/UltiSnips" }
-- NERDTree Config -- Formatter configuration
vim.g.NERDTreeShowHidden = 1 require("formatterconfiguration")
-- Code completion
require("code-completion")
-- Snippet configuration (Ultisnips)
require("snippetconfiguration")
-- ALE configuration
require("linterconfiguration")
-- Navigation and jumping configuration
require("navigation")
-- Mason and builtin lsp configuration
require("lspconfiguration")
-- Pascal mode (supported by plugins)
require("pascal_mode")
-- Ada mode (supported by plugins)
require("ada_mode")
-- Markdown Preview
vim.g.mkdp_auto_start = 0
vim.g.mkdp_browser = "epiphany"
vim.g.mkdp_echo_preview_url = 1
-- Misc configuration
if vim == nil then
vim = {}
end
-- Update function and call
function Update_Sys()
--vim.cmd("TSUpdate")
vim.cmd("MasonUpdate")
vim.cmd("Lazy sync")
end
vim.keymap.set("n", "<M-u>", ":lua Update_Sys()<CR>")
-- Lexima -- Lexima
vim.g.lexima_enable_basic_rules = 1 vim.g.lexima_enable_basic_rules = 1
vim.g.lexima_enable_newline_rules = 1 vim.g.lexima_enable_newline_rules = 1
-- Telescope snippet
local builtin = require("telescope.builtin")
vim.keymap.set("n", "<leader>ff", builtin.find_files, {})
vim.keymap.set("n", "<leader>fg", builtin.live_grep, {})
vim.keymap.set("n", "<c-f>", builtin.current_buffer_fuzzy_find, {})
vim.keymap.set("n", "<leader>fh", builtin.help_tags, {})
vim.keymap.set("n", "<leader>fc", builtin.commands, {})
-- Telescope + Ultisnips
require("telescope").load_extension("ultisnips")
vim.keymap.set("n", "<leader>fs", require("telescope").extensions.ultisnips.ultisnips, {})
-- NERDTree Config
vim.g.NERDTreeDirArrowExpandable = ""
vim.g.NERDTreeDirArrowCollapsible = ""
-- Git-Blame configuration -- Git-Blame configuration
vim.g.gitblame_message_template = " => <author> • <date> • <summary>" vim.g.gitblame_message_template = " => <author> • <date> • <summary>"
vim.g.gitblame_date_format = "%r" vim.g.gitblame_date_format = "%r"
-- Intendation basics -- Floating terminal
require("ibl").setup() vim.keymap.set("n", "<C-t>", ":FloatermNew --height=0.9 --width=0.9 --wintype=float --name=terminal <CR>")
-- Code completion -- Set default colorscheme
require("code-completion") -- vim.cmd("colo vim-monokai-tasty")
vim.cmd("colo vim-monokai-tasty")
-- Mason setup
require("mason").setup(require("mason").setup({
ui = {
icons = {
package_installed = "",
package_pending = "",
package_uninstalled = "",
},
},
}))
require("mason-lspconfig").setup({
-- ensure_installed = { "clangd", "cmake", "jdtls", "texlab", "pylsp" },
})
require("mason-lspconfig").setup_handlers({
function(clangd)
require("lspconfig")[clangd].setup({})
end,
["als"] = function()
require("lspconfig").als.setup({
settings = {
ada = {
projectFile = "default.gpr",
},
},
})
end,
})

View File

@ -1,10 +1,40 @@
return { return {
-- Behavior
"tpope/vim-surround",
"tpope/vim-speeddating",
"mg979/vim-visual-multi",
"SirVer/UltiSnips",
"cohama/lexima.vim",
"voldikss/vim-floaterm",
"https://git.nickr.eu/yannickreiss/nvim-sourcer.git",
-- Navigation
"preservim/nerdtree", "preservim/nerdtree",
"Xuyuanp/nerdtree-git-plugin", "Xuyuanp/nerdtree-git-plugin",
"SirVer/UltiSnips", "mihaifm/bufstop",
"tpope/vim-surround", {
"nvim-telescope/telescope-fzf-native.nvim",
build = "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release",
},
{ "tzachar/fuzzy.nvim", requires = { "nvim-telescope/telescope-fzf-native.nvim" } },
"fhill2/telescope-ultisnips.nvim",
"preservim/tagbar",
-- Visuals
"vim-airline/vim-airline", "vim-airline/vim-airline",
"vim-airline/vim-airline-themes", "vim-airline/vim-airline-themes",
"ryanoasis/vim-devicons",
"tiagofumo/vim-nerdtree-syntax-highlight",
{
"nvim-telescope/telescope.nvim",
tag = "0.1.5",
dependencies = { "nvim-lua/plenary.nvim" },
},
"nvim-tree/nvim-web-devicons",
{ "romgrk/barbar.nvim", wants = "nvim-web-devicons" },
"mhinz/vim-startify",
"p00f/nvim-ts-rainbow",
{ {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
build = ":TSUpdate", build = ":TSUpdate",
@ -16,38 +46,109 @@ return {
sync_install = false, sync_install = false,
highlight = { enable = true }, highlight = { enable = true },
indent = { enable = true }, indent = { enable = true },
rainbow = {
enable = true,
extended_mode = true,
max_file_lines = 3000,
},
}) })
end, end,
}, },
"dense-analysis/ale",
"f-person/git-blame.nvim", "f-person/git-blame.nvim",
"p00f/nvim-ts-rainbow",
"cohama/lexima.vim",
"ryanoasis/vim-devicons",
{
"nvim-telescope/telescope.nvim",
tag = "0.1.5",
dependencies = { "nvim-lua/plenary.nvim" },
},
"fhill2/telescope-ultisnips.nvim",
"hiroakis/cyberspace.vim",
"tpope/vim-speeddating",
"yannickreiss/nvim-doxyscan",
"nvim-tree/nvim-web-devicons",
{ "romgrk/barbar.nvim", wants = "nvim-web-devicons" },
{ "lukas-reineke/indent-blankline.nvim", main = "ibl", opts = {} },
"dstein64/vim-startuptime", "dstein64/vim-startuptime",
"mhinz/vim-startify", "hiphish/rainbow-delimiters.nvim",
{
"iamcco/markdown-preview.nvim",
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
build = "cd app && npm install",
init = function()
vim.g.mkdp_filetypes = { "markdown" }
end,
ft = { "markdown" },
},
-- Themes
"folke/tokyonight.nvim", "folke/tokyonight.nvim",
"patstockwell/vim-monokai-tasty", "patstockwell/vim-monokai-tasty",
"hiroakis/cyberspace.vim",
"jaredgorski/spacecamp",
{
"scottmckendry/cyberdream.nvim",
lazy = false,
priority = 1000,
},
-- Code completion / Menu
"hrsh7th/nvim-cmp",
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-nvim-lua",
"hrsh7th/cmp-nvim-lsp-signature-help",
"hrsh7th/cmp-path",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-calc",
"hrsh7th/cmp-cmdline",
"dmitmel/cmp-cmdline-history",
"amarakon/nvim-cmp-lua-latex-symbols",
"f3fora/cmp-spell",
{ "tzachar/cmp-fuzzy-buffer", requires = { "hrsh7th/nvim-cmp", "tzachar/fuzzy.nvim" } },
"quangnguyen30192/cmp-nvim-ultisnips",
-- LSP / Formatter
"williamboman/mason.nvim", "williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim", "williamboman/mason-lspconfig.nvim",
"neovim/nvim-lspconfig", "neovim/nvim-lspconfig",
"mfussenegger/nvim-dap", "mfussenegger/nvim-dap",
"mhartington/formatter.nvim", "mhartington/formatter.nvim",
"mg979/vim-visual-multi", { "TamaMcGlinn/nvim-lspconfig-ada" },
{ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }, "sainnhe/sonokai",
{ "tzachar/fuzzy.nvim", requires = { "nvim-telescope/telescope-fzf-native.nvim" } },
"mihaifm/bufstop", -- Plugins to test
"https://git.nickr.eu/yannickreiss/nvim-sourcer.git", "https://git.nickr.eu/yannickreiss/nvim-macrotool.git",
"jayli/vim-easycomplete",
-- Wiki
{
"echaya/neowiki.nvim",
opts = {
wiki_dirs = {
-- neowiki.nvim supports both absolute and relative paths
{ name = "Personal", path = "~/.wiki" },
{ name = "RiscVar", path = "~/Documents/HSRM/riscvar.wiki" },
{ name = "Ada/Spark", path = "~/Documents/Science/ada_spark_wiki" },
{ name = "FPGA Book", path = "~/Documents/Science/FPGA_Design" },
{ name = "Spark-Shell", path = "~/Documents/Programming/spark/spark_shell/spark_shell.wiki" },
},
},
keys = {
{ "<leader>ww", "<cmd>lua require('neowiki').open_wiki()<cr>", desc = "Open Wiki" },
{ "<leader>wW", "<cmd>lua require('neowiki').open_wiki_floating()<cr>", desc = "Open Floating Wiki" },
{ "<leader>wT", "<cmd>lua require('neowiki').open_wiki_new_tab()<cr>", desc = "Open Wiki in Tab" },
},
},
-- Lean
{
"Julian/lean.nvim",
event = { "BufReadPre *.lean", "BufNewFile *.lean" },
dependencies = {
"neovim/nvim-lspconfig",
"nvim-lua/plenary.nvim",
-- optional dependencies:
-- a completion engine
-- hrsh7th/nvim-cmp or Saghen/blink.cmp are popular choices
-- 'nvim-telescope/telescope.nvim', -- for 2 Lean-specific pickers
-- 'andymass/vim-matchup', -- for enhanced % motion behavior
-- 'andrewradev/switch.vim', -- for switch support
-- 'tomtom/tcomment_vim', -- for commenting
},
---@type lean.Config
opts = { -- see below for full configuration options
mappings = true,
},
},
} }

View File

@ -0,0 +1,5 @@
vim.g.UltiSnipsExpandTrigger = "<tab>"
vim.g.UltiSnipsJumpForwardTrigger = "<c-l>"
vim.g.UltiSnipsJumpBackwardTrigger = "<c-h>"
vim.g.UltiSnipsEditSplit = "vertical"
vim.g.UltiSnipsSnippetDirectories = { "~/.config/nvim/UltiSnips" }

View File

@ -1,14 +1,12 @@
-- in tools.lua -- in tools.lua
local api = vim.api local api = vim.api
local M = {}; local M = {}
function M.makeScratch() function M.makeScratch()
vim.bo[0].buftype=nofile -- set the current buffer's (buffer 0) buftype to nofile vim.bo[0].buftype = nofile -- set the current buffer's (buffer 0) buftype to nofile
vim.bo[0].bufhidden=hide vim.bo[0].bufhidden = hide
vim.bo[0].swapfile=false vim.bo[0].swapfile = false
end; end
return M
return M;

View File

@ -1,15 +1,105 @@
-- Filetypes and compatibility
vim.opt.compatible = false
vim.cmd("filetype on")
vim.cmd("filetype plugin on")
vim.cmd("syntax on")
-- Spell
vim.opt.spell = true
vim.opt.spl = "en_us,de_de"
vim.opt.sps = "fast,timeout:100"
-- Editor configuration
vim.opt.number = true vim.opt.number = true
vim.opt.tabstop = 4 vim.opt.tabstop = 4
vim.opt.shiftwidth = 4 vim.opt.shiftwidth = 4
vim.opt.expandtab = true vim.opt.expandtab = true
vim.opt.showmatch = true vim.opt.splitright = true
vim.opt.splitbelow = true
vim.opt.relativenumber = false
vim.g.mapleader = ","
vim.cmd("set clipboard+=unnamedplus")
vim.cmd("autocmd! CursorHold,CursorHoldI *.md write")
vim.cmd("set autoread")
-- GUI
vim.opt.cursorline = true vim.opt.cursorline = true
vim.opt.hlsearch = true vim.opt.hlsearch = true
vim.opt.encoding = "UTF-8" vim.opt.encoding = "UTF-8"
vim.g.tex_flavor = "latex" vim.g.tex_flavor = "latex"
vim.opt.conceallevel = 2 vim.opt.conceallevel = 2
vim.opt.guifont = "DroidSansMono Nerd Font 11" vim.opt.showmatch = true
vim.g.mapleader = ","
-- set color scheme -- set color scheme
vim.opt.termguicolors = true vim.opt.termguicolors = true
vim.cmd("colorscheme slate")
vim.keymap.set("n", "<M-+>", ":colo tokyonight-day<CR>")
vim.keymap.set("n", "<M-->", ":colo tokyonight-night<CR>")
-- vim.opt.mouse = ""
-- set copy mode
vim.keymap.set("n", "<leader>ll", ":set nonumber<cr>")
vim.keymap.set("n", "<leader>lm", ":set number<cr>")
-- switch mode
vim.keymap.set("n", "<leader>na", ":set norelativenumber<cr>")
vim.keymap.set("n", "<leader>nr", ":set relativenumber<cr>")
-- Nix mode
local nix_interpreter_buffer = -1
local nix_interpreter_window = -1
-- @name run_nix_interpreter
-- @param
-- @short Run nix and output to a buffer on the right
local function run_nix_interpreter()
local original_win = vim.api.nvim_get_current_win()
vim.cmd("vsplit")
nix_interpreter_buffer = vim.api.nvim_create_buf(false, true)
vim.api.nvim_win_set_buf(0, nix_interpreter_buffer)
nix_interpreter_window = vim.api.nvim_get_current_win()
vim.api.nvim_set_current_win(original_win)
end
-- @name update_nix_interpreter
-- @param
-- @short Run nix enterpreter on that file.
local function update_nix_interpreter()
local filename = vim.api.nvim_buf_get_name(0)
if filename == "" then
vim.api.nvim_buf_set_lines(nix_interpreter_buffer, 0, -1, false, {
"Error: Current buffer has no file name.",
})
return
end
local cmd = { "nix-instantiate", "--eval", "--strict", filename }
local output = vim.fn.systemlist(cmd)
if vim.v.shell_error ~= 0 then
table.insert(output, 1, "Error running nix-instantiate:")
end
vim.api.nvim_buf_set_lines(nix_interpreter_buffer, 0, -1, false, output)
end
-- @name close_nix_interpreter
-- @param
-- @short Closes the window and buffer of the interpreter
local function close_nix_interpreter()
vim.api.nvim_buf_delete(nix_interpreter_buffer, { unload = true })
vim.api.nvim_win_close(nix_interpreter_window, true)
end
vim.api.nvim_create_autocmd({ "BufEnter" }, {
pattern = { "*.nix" },
callback = run_nix_interpreter,
})
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
pattern = { "*.nix" },
callback = update_nix_interpreter,
})
vim.api.nvim_create_autocmd({ "BufLeave" }, {
pattern = { "*.nix" },
callback = close_nix_interpreter,
})

13
lua/vhdl_mode.lua Normal file
View File

@ -0,0 +1,13 @@
-- vim dummy assignment for the lsp
if vim == nil then
local vim = {}
end
-- Setup the formatter for VHDL
-- Download for current platform type if not already present
local check_formatter = { os.execute("which ~/.local/bin/vhdlfmt") }
if check_formatter == 1 then
-- setup the formatter here
os.execute("wget -O ~/.local/bin/vhdlfmt https://www.nickr.eu/data/vhdlfmt")
os.execute("chmod +x ~/.local/bin/vhdlfmt")
end

98
ptop.conf Normal file
View File

@ -0,0 +1,98 @@
end=crbefore,dindonkey,dindent,crafter,capital
[end]=if,then,else,while,with,for,record,try,finally,except,class,object,private,public,protected,published,casevar,colon,equals
begin=crbefore,dindonkey,inbytab,crafter,capital
[begin]=var,label,const,type
if=spaft,gobsym,inbytab,capital
then=capital
else=crbefore,dindonkey,inbytab,capital
[else]=if,then,else
proc=dindonkey,spaft,capital
[proc]=var,label,const,type
var=blinbefore,dindonkey,spaft,inbytab,capital
[var]=var,label,const,type
of=crsupp,spbef,spaft,capital
while=spaft,gobsym,inbytab,crafter,capital
do=crsupp,spbef,capital
case=spaft,gobsym,inbytab,crafter,capital
with=spaft,gobsym,inbytab,crafter,capital
for=spaft,gobsym,inbytab,crafter,capital
repeat=inbytab,crafter,capital
until=crbefore,dindonkey,dindent,spaft,gobsym,crafter,capital
[until]=if,then,else,while,with,for,colon,equals
func=dindonkey,spaft,capital
[func]=var,label,const,type
label=blinbefore,spaft,inbytab,capital
const=blinbefore,dindonkey,spaft,inbytab,capital
[const]=var,label,const,type
type=blinbefore,dindonkey,spaft,inbytab,capital
[type]=var,label,const,type
record=inbyindent,crafter,capital
[record]=end
string=
prog=blinbefore,spaft,capital
asm=
try=crbefore,inbytab,crafter,capital
finally=crbefore,dindent,inbytab,crafter,capital
[finally]=try
except=crbefore,dindent,inbytab,crafter,capital
[except]=try
raise=
class=inbyindent,capital
object=inbyindent,capital
constructor=
destructor=
inherited=
property=
private=crbefore,dindonkey,spaft,inbytab,capital
[private]=end,private,public,protected,published
public=crbefore,dindonkey,spaft,inbytab,capital
[public]=end,private,public,protected,published
protected=crbefore,dindonkey,spaft,inbytab,capital
[protected]=end,private,public,protected,published
published=crbefore,dindonkey,spaft,inbytab,capital
[published]=end,private,public,protected,published
initialization=
finalization=
inline=
library=blinbefore,spaft,capital
interface=blinbefore,crafter,capital
implementation=blinbefore,dindonkey,crafter,capital
[implementation]=end,var,label,const,type,property
read=
write=
unit=blinbefore,spaft,capital
and=
arr=
div=
down=
file=
goto=
in=
mod=
not=
nil=
or=
set=
to=
virtual=
uses=blinbefore,spaft,capital
casevar=spaft,gobsym,inbytab,crafter,capital
ofobject=
becomes=spbef,spaft,gobsym,capital
notequal=
lessorequal=
greaterorequal=
delphicomment=crafter
dopencomment=
dclosecomment=
opencomment=crsupp,capital
closecomment=crsupp,capital
semicolon=crsupp,dindonkey,crafter,capital
[semicolon]=if,then,else,while,with,for,colon,equals
colon=inbytab,capital
equals=spbef,spaft,inbytab,capital
openparen=gobsym,capital
closeparen=
period=crsupp,capital
endoffile=
other=

View File

@ -1,177 +0,0 @@
import os
import os.path
import fnmatch
import logging
import ycm_core
import re
BASE_FLAGS = [
'-Wall',
'-Wextra',
'-Werror',
'-Wno-long-long',
'-Wno-variadic-macros',
'-fexceptions',
'-ferror-limit=10000',
'-DNDEBUG',
'-std=c++11',
'-xc++',
'-I/usr/lib/',
'-I/usr/include/'
]
SOURCE_EXTENSIONS = [
'.cpp',
'.cxx',
'.cc',
'.c',
'.m',
'.mm'
]
SOURCE_DIRECTORIES = [
'src',
'lib'
]
HEADER_EXTENSIONS = [
'.h',
'.hxx',
'.hpp',
'.hh'
]
HEADER_DIRECTORIES = [
'include'
]
def IsHeaderFile(filename):
extension = os.path.splitext(filename)[1]
return extension in HEADER_EXTENSIONS
def GetCompilationInfoForFile(database, filename):
if IsHeaderFile(filename):
basename = os.path.splitext(filename)[0]
for extension in SOURCE_EXTENSIONS:
# Get info from the source files by replacing the extension.
replacement_file = basename + extension
if os.path.exists(replacement_file):
compilation_info = database.GetCompilationInfoForFile(replacement_file)
if compilation_info.compiler_flags_:
return compilation_info
# If that wasn't successful, try replacing possible header directory with possible source directories.
for header_dir in HEADER_DIRECTORIES:
for source_dir in SOURCE_DIRECTORIES:
src_file = replacement_file.replace(header_dir, source_dir)
if os.path.exists(src_file):
compilation_info = database.GetCompilationInfoForFile(src_file)
if compilation_info.compiler_flags_:
return compilation_info
return None
return database.GetCompilationInfoForFile(filename)
def FindNearest(path, target, build_folder):
candidate = os.path.join(path, target)
if(os.path.isfile(candidate) or os.path.isdir(candidate)):
logging.info("Found nearest " + target + " at " + candidate)
return candidate;
parent = os.path.dirname(os.path.abspath(path));
if(parent == path):
raise RuntimeError("Could not find " + target);
if(build_folder):
candidate = os.path.join(parent, build_folder, target)
if(os.path.isfile(candidate) or os.path.isdir(candidate)):
logging.info("Found nearest " + target + " in build folder at " + candidate)
return candidate;
return FindNearest(parent, target, build_folder)
def MakeRelativePathsInFlagsAbsolute(flags, working_directory):
if not working_directory:
return list(flags)
new_flags = []
make_next_absolute = False
path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ]
for flag in flags:
new_flag = flag
if make_next_absolute:
make_next_absolute = False
if not flag.startswith('/'):
new_flag = os.path.join(working_directory, flag)
for path_flag in path_flags:
if flag == path_flag:
make_next_absolute = True
break
if flag.startswith(path_flag):
path = flag[ len(path_flag): ]
new_flag = path_flag + os.path.join(working_directory, path)
break
if new_flag:
new_flags.append(new_flag)
return new_flags
def FlagsForClangComplete(root):
try:
clang_complete_path = FindNearest(root, '.clang_complete')
clang_complete_flags = open(clang_complete_path, 'r').read().splitlines()
return clang_complete_flags
except:
return None
def FlagsForInclude(root):
try:
include_path = FindNearest(root, 'include')
flags = []
for dirroot, dirnames, filenames in os.walk(include_path):
for dir_path in dirnames:
real_path = os.path.join(dirroot, dir_path)
flags = flags + ["-I" + real_path]
return flags
except:
return None
def FlagsForCompilationDatabase(root, filename):
try:
# Last argument of next function is the name of the build folder for
# out of source projects
compilation_db_path = FindNearest(root, 'compile_commands.json', 'build')
compilation_db_dir = os.path.dirname(compilation_db_path)
logging.info("Set compilation database directory to " + compilation_db_dir)
compilation_db = ycm_core.CompilationDatabase(compilation_db_dir)
if not compilation_db:
logging.info("Compilation database file found but unable to load")
return None
compilation_info = GetCompilationInfoForFile(compilation_db, filename)
if not compilation_info:
logging.info("No compilation info for " + filename + " in compilation database")
return None
return MakeRelativePathsInFlagsAbsolute(
compilation_info.compiler_flags_,
compilation_info.compiler_working_dir_)
except:
return None
def FlagsForFile(filename):
root = os.path.realpath(filename);
compilation_db_flags = FlagsForCompilationDatabase(root, filename)
if compilation_db_flags:
final_flags = compilation_db_flags
else:
final_flags = BASE_FLAGS
clang_flags = FlagsForClangComplete(root)
if clang_flags:
final_flags = final_flags + clang_flags
include_flags = FlagsForInclude(root)
if include_flags:
final_flags = final_flags + include_flags
return {
'flags': final_flags,
'do_cache': True
}

View File

@ -351,3 +351,30 @@ Instagram
Tablet Tablet
Abschwington Abschwington
BerndDasBot BerndDasBot
Frameworks
Tuples
structs
make
IoT
json
Request
Dictionary
Everything
Disclaimer
linuxspezifischen
linuxspezifischen
cron
false
true
boolsche
bash
zsh
sockets
requests
otwendige
ptionale
utomatischer
anueller
nickr
eu
email

Binary file not shown.

View File

@ -171,3 +171,5 @@ gcc
linux linux
chibicc chibicc
chibi chibi
readonly
extern

Binary file not shown.

32
viml/automacro.vim Normal file
View File

@ -0,0 +1,32 @@
" various tools inside vim
function! GetCharUnderCursor()
let line = getline('.')
let col = col('.')
return line[col - 1]
endfunction
" predefined macros in functions
function SpacedLine()
normal o
normal O
normal O
normal j
endfunction
function SwapWords()
normal dw
normal e
exec 'normal! a '
normal p
normal l
let char = GetCharUnderCursor()
if char == ' '
normal x
endif
normal h
normal b
normal b
endfunction
let @o = ':call SpacedLine() '
let @s = ':call SwapWords() '

View File

@ -1,103 +0,0 @@
" NERDTree remap
let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'
nmap <C-e> :NERDTreeToggle<CR>
" open builtin terminal
function OpenTerm()
vsplit
terminal
endfunction
nnoremap <C-t> :call OpenTerm()<CR>
" open new files right/below
set splitright
set splitbelow
set clipboard+=unnamedplus
" Autoformat on save
augroup FormatAutogroup
autocmd!
autocmd BufWritePost * FormatWrite
augroup END
" set spellcheck according to Filetype
autocmd VimEnter * set spell spelllang=en_us
function Litde()
set spell spelllang=de_de
endfunction
function Liten()
set spell spelllang=en_us
endfunction
nnoremap <M-e> :call Liten()<CR>
nnoremap <M-g> :call Litde()<CR>
" Theme
nnoremap <M-+> :colo github_light_high_contrast<CR>
nnoremap <M--> :colo default<CR>
" Fuzzy finder
nnoremap <C-f> :Lines<CR>
function RestoreSession()
if @% == ""
source ~/.config/nvim/lastSession.vim
endif
endfunction
" Git-Blame configuration
let g:gitblame_message_template = ' => <author> • <date> • <summary>'
let g:gitblame_date_format = '%r'
if executable('vhdl-tool')
au User lsp_setup call lsp#register_server({
\ 'name': 'vhdl-tool',
\ 'cmd': {server_info->['vhdl-tool', 'lsp']},
\ 'whitelist': ['vhdl'],
\ 'root_uri':{server_info->lsp#utils#path_to_uri(lsp#utils#find_nearest_parent_file_directory(lsp#utils#get_buffer_path(), 'vhdltool-config.yaml'))},
\ })
endif
autocmd FileType vhdl setlocal omnifunc=lsp#complete
nnoremap <silent> <C-0> <Cmd>BufferNext<CR>
" update function and call
function Update_Sys()
PackerSync
TSUpdate
MasonUpdate
endfunction
nnoremap <M-u> :call Update_Sys()<CR>
" Call build function
function! Build()
let l:filetype = &filetype
if l:filetype == 'c' || l:filetype == 'cpp' || l:filetype == 'h' || l:filetype == 'hpp'
execute 'make'
elseif l:filetype == 'py' || l:filetype == 'python'
execute '!python3 %'
elseif l:filetype == 'tex'
execute '!lualatex % < /dev/null'
elseif l:filetype == 'rs'
execute 'cargo run'
elseif l:filetype == 'S'
execute 'make'
elseif l:filetype == 'verilog'
execute 'verilator --binary %'
elseif l:filetype == 'rust'
execute 'cargo run'
else
echo "Unsupported file type: " . l:filetype
endif
endfunction
nnoremap <C-b> :call Build()<CR>
nnoremap <M-w> :bdelete<CR>
nnoremap <C-y> :b#<CR>

View File

@ -1,47 +0,0 @@
" NERDTree remap
nmap <C-e> :NERDTreeToggle<CR>
" Autoformat on save
augroup FormatAutogroup
autocmd!
autocmd BufWritePost * FormatWrite
augroup END
nnoremap <silent> <C-0> <Cmd>BufferNext<CR>
" update function and call
function Update_Sys()
Lazy sync
TSUpdate
endfunction
nnoremap <M-u> :call Update_Sys()<CR>
" Call build function
function! Build()
let l:filetype = &filetype
if l:filetype == 'c' || l:filetype == 'cpp' || l:filetype == 'h' || l:filetype == 'hpp'
execute '!make'
elseif l:filetype == 'py' || l:filetype == 'python'
execute '!python3 %'
elseif l:filetype == 'tex'
execute '!lualatex % < /dev/null'
elseif l:filetype == 'rs'
execute 'cargo run'
elseif l:filetype == 'S'
execute '!make'
elseif l:filetype == 'verilog'
execute '!verilator --binary %'
elseif l:filetype == 'rust'
execute '!cargo run'
elseif l:filetype == 'markdown'
execute '!okular %&'
else
echo "Unsupported file type: " . l:filetype
endif
endfunction
nnoremap <C-b> :call Build()<CR>
nnoremap <M-w> :bdelete<CR>
nnoremap <C-y> :BufstopFast<CR>

View File

@ -1,43 +0,0 @@
set nocompatible
filetype on
filetype plugin on
syntax on
colorscheme vim-monokai-tasty
" open builtin terminal
function OpenTerm()
10 split
terminal
endfunction
nnoremap <C-t> :call OpenTerm()<CR>
set splitright
set splitbelow
set clipboard+=unnamedplus
" set spellcheck according to Filetype
autocmd VimEnter * set spell spelllang=en_us
function Litde()
set spell spelllang=de_de
endfunction
function Liten()
set spell spelllang=en_us
endfunction
nnoremap <M-e> :call Liten()<CR>
nnoremap <M-g> :call Litde()<CR>
" Theme
nnoremap <M-+> :colo tokyonight-day<CR>
nnoremap <M--> :colo tokyonight-night<CR>
" Try transparent nvim
highlight Normal guibg=none
highlight NonText guibg=none
highlight Normal ctermbg=none
highlight NonText ctermbg=none