51 Commits

Author SHA1 Message Date
9c504e284f Make view nicer
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 22s
2024-07-26 07:42:31 +02:00
e1711a1180 C and Makefile snippets 2024-07-26 07:42:13 +02:00
94457aae68 Config update
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 1m14s
2024-07-15 07:37:31 +02:00
7e89acf09f Linter and Correction update
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 20s
2024-07-08 20:28:54 +02:00
39b9d351c0 Updated vim macros
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 22s
2024-06-21 08:06:01 +02:00
f33b495d12 Backslash snippets, turn \ into \ using \´
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 17s
2024-06-11 08:37:54 +02:00
74ce5c7cde Remove buggy ultisnips
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 46s
2024-06-11 07:51:21 +02:00
3661bb6693 No journal, don't use it.
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 45s
2024-06-06 09:33:46 +02:00
4c4a6443b9 LaTeX snippet update 2024-06-06 09:32:53 +02:00
1b9a7264de Remove legacy python support
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 1m47s
2024-05-22 07:48:41 +02:00
682f512251 Add action as verification
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 1m54s
2024-05-22 07:47:30 +02:00
bd368117fe Add action as verification
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled
2024-05-22 07:30:31 +02:00
2143b6d5a1 Remove lua and replace pylsp 2024-05-20 07:36:17 +02:00
a3983ae9c5 Corrected address in email thingy 2024-05-13 15:32:22 +02:00
290fcc1aff Add mail snippet 2024-05-13 13:03:07 +02:00
e539bb663d Easily swapping two words with ,lw 2024-05-12 22:02:26 +02:00
5f39958f59 Adding sections is now less of a pain in the ass 2024-05-12 21:32:24 +02:00
b2cbeb41c1 automacros added 2024-05-12 14:18:08 +02:00
d42f1f53e8 Various minor adjustments to snippets 2024-05-12 06:33:03 +02:00
def3c6b531 Removed Tabnine because of resource usage, addded journal plugin instead 2024-05-12 06:32:42 +02:00
1d7c562add Add exactly one unnececessary comment 2024-04-09 07:28:48 +02:00
39381d1da9 Adjust minimal characters for completion 2024-04-07 18:43:45 +02:00
f4b99df515 add forgotten RETs 2024-04-07 18:26:53 +02:00
471e420829 Ghost text 2024-04-07 15:53:20 +02:00
e15fc0dfa7 Final Refactor 2024-04-07 11:00:01 +02:00
55c7a8d1e2 Markdownpreview 2024-04-07 10:34:32 +02:00
e4812f748b Removed from init.lua 2024-04-07 09:11:07 +02:00
a7e387067a Translated plugconfig 2024-04-07 09:10:13 +02:00
4fd990b5fd Remove plugbench 2024-04-07 09:01:30 +02:00
463ded36cd Remove additional useless files 2024-04-07 08:57:12 +02:00
187b9de47a no need for ycm 2024-04-07 08:56:33 +02:00
d13d0ec0e8 Laptop 2024-04-07 08:55:38 +02:00
30fdc90545 Remove unneeded file 2024-04-07 08:47:57 +02:00
bdab32c01a Translated vanilla completely 2024-04-07 08:45:24 +02:00
abee013697 Translated vanilla completely 2024-04-07 08:44:51 +02:00
29f798abc7 Starting to move all vim to lua 2024-04-07 08:20:02 +02:00
49dfe769ed Remove and add numbers with ,ll and ,lm 2024-04-06 22:47:37 +02:00
23d1e0deb1 Update 2024-03-23 14:10:36 +01:00
4d3800a027 update 2024-03-19 10:28:46 +01:00
ce70d6f9b7 Additional code completion sources (tabnine) 2024-03-19 07:20:20 +01:00
b2a762ab4d Verible lsp 2024-03-18 21:32:10 +01:00
e20feca786 Not using transparency 2024-03-18 10:16:18 +01:00
0db71c6f62 Neovim update 2024-03-18 07:02:51 +01:00
744865e965 Update 2024-03-15 12:20:08 +01:00
6b13d4c6b4 Vim Monokai tasty 2024-03-10 08:59:32 +01:00
8eb3955fd6 Change exfun 2024-03-10 08:50:07 +01:00
54991cf3d9 Seems, it really did work 2024-03-06 08:47:42 +01:00
bb886d3fe6 Remove autosave, doesn't work 2024-03-06 08:43:23 +01:00
1ceb2e0e4a Autosave in Markdown 2024-03-06 08:33:12 +01:00
77bba8c263 Allow one step setup 2024-03-01 18:36:47 +01:00
84d14e8884 Directory update 2024-02-20 07:16:19 +01:00
31 changed files with 756 additions and 116 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

View File

@@ -1,3 +0,0 @@
let g:netrw_dirhistmax =10
let g:netrw_dirhistcnt =1
let g:netrw_dirhist_1='/home/nick/.config/nvim'

View File

@@ -38,8 +38,8 @@ for parameter in parameters:
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
function ${1:Name}${2:a, b: Integer}`!p if (t[2] != "" and not t[2].startswith("(")):
t[2] = f"({t[2]})"` return ${3:Integer} is
$4
begin
$7
@@ -100,7 +100,16 @@ else:
endsnippet
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
snippet docstring "Document String with most important infor" b
@@ -108,4 +117,15 @@ snippet docstring "Document String with most important infor" b
-- Created on: `date`
-- Author(s): ${1:Yannick Reiß}
-- Content: ${2: Function `!p snip.rv = fn.split('.')[0]`}
$0
endsnippet
snippet project "Project" b
project ${1:Default} is
for Source_Dirs use ("${2:src}");
for Object_Dir use "${3:obj}";
for Exec_Dir use "${4:bin}";
for Main use ("${5:main.adb}");
for Languages use ("Ada");
end $1;
endsnippet

View File

@@ -2,16 +2,6 @@ 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
`date`
endsnippet
@@ -19,3 +9,7 @@ endsnippet
snippet credhsrm "Credentials HSRM"
Yannick Reiß (yareissx/yreis001) <yannick.reiss@student.hs-rm.de>
endsnippet
snippet gitfeed "New git feed entry."
${1:Datei}.html:${2:Message}$0
endsnippet

View File

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

View File

@@ -1,4 +1,4 @@
snippet hello "Hello World"
snippet hello "Hello World"
Hallo
endsnippet
@@ -77,15 +77,16 @@ for param in params:
snip.rv = rval`
*/
${1:int} ${2:MyFunc} (${3:void}) {
/* Returns ${5:void} */
`!p
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:
snip.rv = ""`
$5
$6
`!p
if t[1].replace('static ', '') != "void":
snip.rv = f"return rv;"
snip.rv = f"return {t[5]};"
else:
snip.rv = ""`
}
@@ -104,13 +105,13 @@ snippet "(\w+) = malloc" "Automativ malloc error implementation" rA
`!p snip.rv = match.group(1)` = ($1*)malloc(sizeof(${1:int}) * $2);
if (!`!p snip.rv = match.group(1)`) {
/* 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);
}
$0
endsnippet
snippet "(\w+) = open" "Automatic open error implementation" rA
snippet "(\w+) = open" "Automatic open error implementation" r
/* 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)`) {
@@ -357,3 +358,13 @@ if ( fflush(stdout) ) {
exit(EXIT_FAILURE);
}
endsnippet
snippet switch "Classic C switch statement" b
switch(${1:Expression}) {
case $3:
$4
break;$5
default:
$2
}$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
$0
endsnippet
snippet clean "Clean the object files and binary file" b
.PHONY: clean
clean:
${1:rm *.o $(BIN)}
endsnippet

View File

@@ -49,6 +49,13 @@ $1
$0
endsnippet
snippet cjson "json code"
\`\`\`json
$1
\`\`\`
$0
endsnippet
snippet ,m "Math equation" A
\$$1\$ $0
endsnippet
@@ -85,3 +92,8 @@ snippet cite "Cite from a paper" b
Tags: $2
$0
endsnippet
snippet immernoch "ARGH, lern schreiben!" A
noch immer
endsnippet

View File

@@ -75,3 +75,14 @@ endsnippet
snippet println "println" A
println!("$1");$0
endsnippet
snippet docstring "Document head" b
/*
* Filename: `!p snip.rv = fn`
* Author: ${1:Yannick Reiss}
* Project: ${2:Project Name}
* Copyright: ${3:None} => You • 9 months ago • Move of Snippets into repository
* Description: ${4:Funny module}
*
*/$0
endsnippet

View File

@@ -64,6 +64,7 @@ snippet img "Images"
\\centering
\\includegraphics[width=${2:0.8}\\linewidth]{${3}}
\\caption{${4:Abbildung}}
\\label{img:`!p snip.rv = t[4].lower().replace(" ", "_")`}
\\end{figure}
$0
endsnippet
@@ -264,23 +265,28 @@ snippet - "new item" b
endsnippet
snippet sch "chapter"
\\chapter{$1}$0
\\chapter{$1}
\\label{chapter:`!p snip.rv = get_label(t[1])`}$0
endsnippet
snippet sse "Section"
\\section{$1}$0
\\section{$1}
\\label{section:`!p snip.rv = get_label(t[1])`}$0
endsnippet
snippet sss "Subsection"
\\subsection{$1}$0
\\subsection{$1}
\\label{subsection:`!p snip.rv = get_label(t[1])`}$0
endsnippet
snippet ssn "Subsubsection"
\\subsubsection{$1}$0
\\subsubsection{$1}
\\label{subsubsection:`!p snip.rv = get_label(t[1])`}$0
endsnippet
snippet par "Paragraph"
\\paragraph{$1}$0
\\paragraph{$1}
\\label{paragraph:`!p snip.rv = get_label(t[1])`}$0
endsnippet
snippet mquote "max quote"
@@ -373,6 +379,16 @@ def create_table(cols, rows, sep, start, end, head="##"):
placeholder += 1
res += end
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
post_jump "create_table_tabs(snip)"
@@ -459,7 +475,7 @@ snippet _- "Escape _ easier" iA
\\_
endsnippet
snippet bsp "Beispielsweise" iA
snippet bsp "Beispielsweise" A
beispielsweise
endsnippet
@@ -467,6 +483,10 @@ snippet ß "Backslash" A
\\
endsnippet
snippet \0 "Add another Backslash" iA
\\\\
endsnippet
snippet bibbook "Add a new book/journal/paper reference" b
\\bibitem{${1:Reference_name}}
${2:Author}. (${3:2023}) \`${4:Title}'. ${5:Extension} `!p
@@ -484,6 +504,12 @@ else:
$0
endsnippet
snippet cc "Cite" A
snippet cc "Cite" i
\\cite{$1}$0
endsnippet
snippet setenv "Set Environment around Text" b
\\begin{$1}
${VISUAL}
\\end{$1}$0
endsnippet

View File

@@ -56,5 +56,4 @@ if t[3] != "Geburtsdatum" and len(t[3]) == 8:
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

@@ -73,3 +73,7 @@ endsnippet
snippet regflit "reg_idx from literal" iA
std_logic_vector(to_unsigned('${1:Literal}', reg_adr_size));
endsnippet
snippet fillvec "Stdout to fill a vector" A
(others => '0')
endsnippet

5
UltiSnips/xml.snippets Normal file
View File

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

24
init.lua Normal file
View File

@@ -0,0 +1,24 @@
-- Basic setup configuration
require("vanilla")
vim.cmd("source ~/.config/nvim/viml/automacro.vim")
-- Lazy plugin setup
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require("lazy").setup("plugins")
require("plugconfig")
require("confformat")

View File

@@ -1,4 +0,0 @@
source ~/.config/nvim/vim/init.vim
source ~/.config/nvim/vim/plug.vim
lua require('plug')

51
lazy-lock.json Normal file
View File

@@ -0,0 +1,51 @@
{
"UltiSnips": { "branch": "master", "commit": "49dc8cb2086db19d385791c8e1635723b0fd95c7" },
"barbar.nvim": { "branch": "master", "commit": "3c48b5edf61dda21ad41c514e53448fee366a824" },
"bufstop": { "branch": "master", "commit": "274fc0e9fd6e8de860c427860c1e9970df142df5" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-calc": { "branch": "main", "commit": "ce91d14d2e7a8b3f6ad86d85e34d41c1ae6268d9" },
"cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" },
"cmp-cmdline-history": { "branch": "master", "commit": "003573b72d4635ce636234a826fa8c4ba2895ffe" },
"cmp-fuzzy-buffer": { "branch": "main", "commit": "ada6352bc7e3c32471ab6c08f954001870329de1" },
"cmp-git": { "branch": "main", "commit": "8d8993680d627c8f13bd85094eba84604107dbdd" },
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "3d8912ebeb56e5ae08ef0906e3a54de1c66b92f1" },
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
"cmp-nvim-ultisnips": { "branch": "main", "commit": "24bca5c3e137b28cd87442d4fc51a2b312dd99cc" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp-spell": { "branch": "master", "commit": "32a0867efa59b43edbb2db67b0871cfad90c9b66" },
"cyberspace.vim": { "branch": "master", "commit": "8d002ef6a449f08025d75249078ecae75a136a2d" },
"formatter.nvim": { "branch": "master", "commit": "ad246d34ce7a32f752071ed81b09b94e6b127fad" },
"fuzzy.nvim": { "branch": "master", "commit": "67a42ad2fa6d5ff41f0ef3cf69bb247410da5d7a" },
"git-blame.nvim": { "branch": "master", "commit": "a0282d05adbee80aaf4e2ff35b81b52940b67bed" },
"indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" },
"lazy.nvim": { "branch": "main", "commit": "83493db50a434a4c5c648faf41e2ead80f96e478" },
"lexima.vim": { "branch": "master", "commit": "5513d686801993b40c55baa65602f79cd3cf3c77" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "82c7cb08ddb836ad938b2708e50085f12a8825d2" },
"mason.nvim": { "branch": "main", "commit": "3b5068f0fc565f337d67a2d315d935f574848ee7" },
"nerdtree": { "branch": "master", "commit": "f3a4d8eaa8ac10305e3d53851c976756ea9dc8e8" },
"nerdtree-git-plugin": { "branch": "master", "commit": "e1fe727127a813095854a5b063c15e955a77eafb" },
"nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" },
"nvim-cmp-lua-latex-symbols": { "branch": "master", "commit": "89345d6e333c700d13748e8a7ee6fe57279b7f88" },
"nvim-dap": { "branch": "master", "commit": "c1695e500c7d552a0a19953a9aefcc89178fb1af" },
"nvim-doxyscan": { "branch": "master", "commit": "2c266fdb9395d6afa5d7188f8212fd7757193990" },
"nvim-lspconfig": { "branch": "master", "commit": "8c1831817d40925d22cd8a555296c44c02fdaaf5" },
"nvim-sourcer": { "branch": "main", "commit": "a2f6bc737a63a208d39fcc5c211076ea5aa9f390" },
"nvim-treesitter": { "branch": "master", "commit": "2014f8285e306f4c8a896c7d3af53fdd599e5a4f" },
"nvim-ts-rainbow": { "branch": "master", "commit": "ef95c15a935f97c65a80e48e12fe72d49aacf9b9" },
"nvim-web-devicons": { "branch": "master", "commit": "cb0c967c9723a76ccb1be0cc3a9a10e577d2f6ec" },
"plenary.nvim": { "branch": "master", "commit": "f7adfc4b3f4f91aab6caebf42b3682945fbc35be" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" },
"telescope-ultisnips.nvim": { "branch": "main", "commit": "d1cca4b5aa809a90b7a8caddeb860329d5a8c2ff" },
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
"tokyonight.nvim": { "branch": "main", "commit": "c025baf23b62f044eff1f4ef561c45de636f0e32" },
"vim-airline": { "branch": "master", "commit": "d9f42cb46710e31962a9609939ddfeb0685dd779" },
"vim-airline-themes": { "branch": "master", "commit": "a9aa25ce323b2dd04a52706f4d1b044f4feb7617" },
"vim-devicons": { "branch": "master", "commit": "71f239af28b7214eebb60d4ea5bd040291fb7e33" },
"vim-monokai-tasty": { "branch": "master", "commit": "57c67feac63158a232c43aee2f463a994029b699" },
"vim-speeddating": { "branch": "master", "commit": "5a36fd29df63ea3f65562bd2bb837be48a5ec90b" },
"vim-startify": { "branch": "master", "commit": "4e089dffdad46f3f5593f34362d530e8fe823dcf" },
"vim-startuptime": { "branch": "master", "commit": "ac2cccb5be617672add1f4f3c0a55ce99ba34e01" },
"vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" },
"vim-visual-multi": { "branch": "master", "commit": "fe1ec7e430013b83c8c2dee85ae496251b71e253" }
}

126
lua/code-completion.lua Normal file
View File

@@ -0,0 +1,126 @@
-- menuone: show also for just one code suggestion
-- noinsert: only insert text when selection confirmed
-- noselect: force to select from suggestion
-- preview: show more details
vim.opt.completeopt = { "menu", "menuone" }
-- shortmess is used to reduce verbocity
-- 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,
},
-- Add borders to the windows
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
-- experimental settings
experimental = {
ghost_text = {},
},
-- mapping
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,
}),
}),
-- installed sources for code suggestion
sources = cmp.config.sources({
-- { name = "ultisnips", keyword_length = 1 },
{ name = "path" },
{ name = "nvim_lsp", keyword_length = 2 },
{ name = "nvim_lsp_signature_help" },
{ name = "nvim_lua", keyword_length = 2 },
{ 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 = {
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,
},
})

56
lua/confformat.lua Normal file
View File

@@ -0,0 +1,56 @@
-- Utilities for creating configurations
local util = require("formatter.util")
-- Provides the Format, FormatWrite, FormatLock, and FormatWriteLock commands
require("formatter").setup({
-- Enable or disable logging
logging = true,
-- Set the log level
log_level = vim.log.levels.WARN,
-- All formatter configurations are opt-in
filetype = {
-- Formatter configurations for filetype "lua" go here
-- and will be executed in order
lua = {
-- "formatter.filetypes.lua" defines default configurations for the
-- "lua" filetype
require("formatter.filetypes.lua").stylua,
},
c = {
require("formatter.filetypes.c").astyle,
},
cpp = {
require("formatter.filetypes.cpp").astyle,
},
html = {
require("formatter.filetypes.html").htmlbeautifier,
},
latex = {
require("formatter.filetypes.latex").latexindent,
},
markdown = {
require("formatter.filetypes.markdown").prettier,
},
tex = {
require("formatter.filetypes.latex").latexindent,
},
rust = {
require("formatter.filetypes.rust").rustfmt,
},
-- Use the special "*" filetype for defining formatter configurations on
-- any filetype
["*"] = {
-- "formatter.filetypes.any" defines default configurations for any
-- filetype
require("formatter.filetypes.any").remove_trailing_whitespace,
},
},
})

View File

@@ -1,6 +0,0 @@
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, {})

130
lua/plugconfig.lua Normal file
View File

@@ -0,0 +1,130 @@
-- Update function and call
function Update_Sys()
vim.cmd("Lazy sync")
vim.cmd("TSUpdate")
end
vim.keymap.set("n", "<M-u>", ":lua Update_Sys()<CR>")
-- Bufstop
vim.keymap.set("n", "<M-w>", ":bdelete<CR>")
vim.keymap.set("n", "<C-y>", ":BufstopFast<CR>")
-- UltiSnips Configuration
vim.g.UltiSnipsExpandTrigger = "<tab>"
vim.g.UltiSnipsJumpForwardTrigger = "<c-l>"
vim.g.UltiSnipsJumpBackwardTrigger = "<c-h>"
vim.g.UltiSnipsEditSplit = "vertical"
vim.g.UltiSnipsSnippetDirectories = { "~/.config/nvim/UltiSnips" }
-- NERDTree Config
vim.g.NERDTreeShowHidden = 1
vim.keymap.set("n", "<C-e>", ":NERDTreeToggle<CR>")
-- Lexima
vim.g.lexima_enable_basic_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
vim.g.gitblame_message_template = " => <author> • <date> • <summary>"
vim.g.gitblame_date_format = "%r"
-- Code completion
require("code-completion")
-- 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" },
ensure_installed = { "clangd" },
})
require("mason-lspconfig").setup_handlers({
function(clangd)
require("lspconfig")[clangd].setup({})
end,
["als"] = function()
require("lspconfig").als.setup({
settings = {
ada = {
projectFile = "default.gpr",
},
},
})
end,
})
require("lspconfig").verible.setup({
cmd = { "verible-verilog-ls", "--rules_config_search" },
})
-- Floating terminal
vim.keymap.set("n", "<C-t>", ":FloatermNew --height=0.9 --width=0.9 --wintype=float --name=terminal <CR>")
-- Set default colorscheme
vim.cmd("colo tokyonight-night")
-- Formatter configuration
vim.cmd([[
augroup FormatAutogroup
autocmd!
autocmd BufWritePost * FormatWrite
augroup END
autocmd BufWritePost *.v lua vim.lsp.buf.format({ async = false })
]])
-- Ale configuration
local linters = {
python = { "pylint" },
vim = { "vint" },
cpp = { "clang" },
c = { "clang" },
markdown = { "languagetool" },
latex = { "languagetool" },
tex = { "languagetool" },
plaintex = { "languagetool" },
ada = { "gnat" },
}
vim.g.ale_linters = linters
vim.g.ale_fix_on_save = 0
vim.g.ale_ada_gpr_project_file = "default.gpr"
vim.g.ale_fixers = {
ada = { "gcc", "gnat" },
asm = { "gcc" },
bash = { "bashate" },
c = { "astyle" },
latex = { "texlab" },
lua = { "stylua" },
markdown = { "prettier", "pandoc" },
python = { "yapf" },
}
vim.keymap.set("n", "<leader>lf", ":ALEFix<CR>")
vim.keymap.set("n", "<leader>ld", ":ALEDetail<CR>")

69
lua/plugins.lua Normal file
View File

@@ -0,0 +1,69 @@
return {
"preservim/nerdtree",
"Xuyuanp/nerdtree-git-plugin",
"SirVer/UltiSnips",
"tpope/vim-surround",
"vim-airline/vim-airline",
"vim-airline/vim-airline-themes",
{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
config = function()
local configs = require("nvim-treesitter.configs")
configs.setup({
-- ensure_installed = { "c", "vim", "ada", "html", "python" },
sync_install = false,
highlight = { enable = true },
indent = { enable = true },
})
end,
},
"f-person/git-blame.nvim",
"p00f/nvim-ts-rainbow",
"cohama/lexima.vim",
"ryanoasis/vim-devicons",
"tiagofumo/vim-nerdtree-syntax-highlight",
{
"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" },
"dstein64/vim-startuptime",
"mhinz/vim-startify",
"folke/tokyonight.nvim",
"patstockwell/vim-monokai-tasty",
"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" } },
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
"neovim/nvim-lspconfig",
"mfussenegger/nvim-dap",
"mhartington/formatter.nvim",
"mg979/vim-visual-multi",
{ "nvim-telescope/telescope-fzf-native.nvim", run = "make" },
{ "tzachar/fuzzy.nvim", requires = { "nvim-telescope/telescope-fzf-native.nvim" } },
{ "tzachar/cmp-fuzzy-buffer", requires = { "hrsh7th/nvim-cmp", "tzachar/fuzzy.nvim" } },
"mihaifm/bufstop",
"https://git.nickr.eu/yannickreiss/nvim-sourcer.git",
{ "tzachar/cmp-fuzzy-buffer", requires = { "hrsh7th/nvim-cmp", "tzachar/fuzzy.nvim" } },
"jaredgorski/spacecamp",
"voldikss/vim-floaterm",
"dense-analysis/ale",
}

12
lua/tools.lua Normal file
View File

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

42
lua/vanilla.lua Normal file
View File

@@ -0,0 +1,42 @@
-- 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.tabstop = 4
vim.opt.shiftwidth = 4
vim.opt.expandtab = true
vim.opt.splitright = true
vim.opt.splitbelow = true
vim.g.mapleader = ","
vim.cmd("set clipboard+=unnamedplus")
vim.cmd("autocmd! CursorHold,CursorHoldI *.md write")
-- GUI
vim.opt.cursorline = true
vim.opt.hlsearch = true
vim.opt.encoding = "UTF-8"
vim.g.tex_flavor = "latex"
vim.opt.conceallevel = 2
vim.opt.showmatch = true
vim.o.guifont = "Source Code Pro:h13"
-- set color scheme
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>")

View File

@@ -351,3 +351,30 @@ Instagram
Tablet
Abschwington
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
chibicc
chibi
readonly
extern

Binary file not shown.

View File

@@ -1,37 +0,0 @@
set nocompatible
filetype on
filetype plugin on
syntax on
set number
set tabstop=4
set shiftwidth=4
set showmatch
set hlsearch
set cursorline
colorscheme desert
set splitright
set splitbelow
set completeopt=menuone,preview
set clipboard+=unnamedplus
set expandtab
set conceallevel=2
set termguicolors
let g:mapleader=","
let g:tex_flavor="latex"
function OpenTerm()
10 split
terminal
endfunction
nnoremap <C-t> :call OpenTerm()<CR>
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>

View File

@@ -1,34 +0,0 @@
call plug#begin('~/.vim/plugged')
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'preservim/nerdtree'
Plug 'Xuyuanp/nerdtree-git-plugin'
Plug 'nvim-lua/plenary.nvim'
Plug 'nvim-telescope/telescope.nvim', { 'tag': '0.1.5' }
Plug 'tpope/vim-surround'
Plug 'tpope/vim-speeddating'
Plug 'mhinz/vim-startify'
Plug 'dstein64/vim-startuptime'
Plug 'hiroakis/cyberspace.vim'
Plug 'mhinz/vim-startify'
Plug 'dstein64/vim-startuptime'
Plug 'SirVer/ultisnips'
call plug#end()
function Update_sys()
PlugUpdate
endfunction
nmap <C-u> :call Update_sys()<CR>
" NERDTree config
let g:NERDTreeShowHidden = 1
let g:NERDTreeDirArrowExpandable = "▸"
let g:NERDTreeDirArrowCollapsible = "▾"
nmap <C-e> :NERDTreeToggle<CR>
" UltiSnips config
let g:UltiSnipsExpandTrigger = "<tab>"
let g:UltiSnipsJumpForwardTrigger = "<c-l>"
let g:UltiSnipsJumpBackwardTrigger = "<c-h>"
let g:UltiSnipsEditSplit = "vertical"
let g:UltiSnipsSnippetDirectories = [ "~/.config/nvim/UltiSnips" ]

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()
'