Compare commits
44 Commits
nvim_easyc
...
3661bb6693
| Author | SHA1 | Date | |
|---|---|---|---|
| 3661bb6693 | |||
| 4c4a6443b9 | |||
| 1b9a7264de | |||
| 682f512251 | |||
| bd368117fe | |||
| 2143b6d5a1 | |||
| a3983ae9c5 | |||
| 290fcc1aff | |||
| e539bb663d | |||
| 5f39958f59 | |||
| b2cbeb41c1 | |||
| d42f1f53e8 | |||
| def3c6b531 | |||
| 1d7c562add | |||
| 39381d1da9 | |||
| f4b99df515 | |||
| 471e420829 | |||
| e15fc0dfa7 | |||
| 55c7a8d1e2 | |||
| e4812f748b | |||
| a7e387067a | |||
| 4fd990b5fd | |||
| 463ded36cd | |||
| 187b9de47a | |||
| d13d0ec0e8 | |||
| 30fdc90545 | |||
| bdab32c01a | |||
| abee013697 | |||
| 29f798abc7 | |||
| 49dfe769ed | |||
| 23d1e0deb1 | |||
| 4d3800a027 | |||
| ce70d6f9b7 | |||
| b2a762ab4d | |||
| e20feca786 | |||
| 0db71c6f62 | |||
| 744865e965 | |||
| 6b13d4c6b4 | |||
| 8eb3955fd6 | |||
| 54991cf3d9 | |||
| bb886d3fe6 | |||
| 1ceb2e0e4a | |||
| 77bba8c263 | |||
| 84d14e8884 |
29
.gitea/workflows/test.yaml
Normal file
29
.gitea/workflows/test.yaml
Normal 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
|
||||||
@@ -38,8 +38,8 @@ for parameter in parameters:
|
|||||||
paramless = parameter.replace("\t", "")
|
paramless = parameter.replace("\t", "")
|
||||||
snip.rv += f"-- @variable {paramless}\n"
|
snip.rv += f"-- @variable {paramless}\n"
|
||||||
`-- @description $5
|
`-- @description $5
|
||||||
function ${1:Name}($2`!p if (t[2] == ""):
|
function ${1:Name}${2:a, b: Integer}`!p if (t[2] != "" and not t[2].startswith("(")):
|
||||||
t[2] = "a, b: Integer"`) return ${3:Integer} is
|
t[2] = f"({t[2]})"` return ${3:Integer} is
|
||||||
$4
|
$4
|
||||||
begin
|
begin
|
||||||
$7
|
$7
|
||||||
@@ -100,7 +100,16 @@ else:
|
|||||||
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 docstring "Document String with most important infor" b
|
||||||
@@ -109,3 +118,13 @@ snippet docstring "Document String with most important infor" b
|
|||||||
-- Author(s): ${1:Yannick Reiß}
|
-- Author(s): ${1:Yannick Reiß}
|
||||||
-- Content: ${2: Function `!p snip.rv = fn.split('.')[0]`}
|
-- Content: ${2: Function `!p snip.rv = fn.split('.')[0]`}
|
||||||
endsnippet
|
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
|
||||||
|
|||||||
@@ -2,16 +2,6 @@ snippet cred "My private Credentials"
|
|||||||
Yannick Reiss <yannick.reiss@nickr.eu>
|
Yannick Reiss <yannick.reiss@nickr.eu>
|
||||||
endsnippet
|
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
|
||||||
@@ -19,3 +9,7 @@ endsnippet
|
|||||||
snippet credhsrm "Credentials HSRM"
|
snippet credhsrm "Credentials HSRM"
|
||||||
Yannick Reiß (yareissx/yreis001) <yannick.reiss@student.hs-rm.de>
|
Yannick Reiß (yareissx/yreis001) <yannick.reiss@student.hs-rm.de>
|
||||||
endsnippet
|
endsnippet
|
||||||
|
|
||||||
|
snippet gitfeed "New git feed entry."
|
||||||
|
${1:Datei}.html:${2:Message}$0
|
||||||
|
endsnippet
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
snippet hello "Hello World"
|
snippet hello "Hello World"
|
||||||
Hallo
|
Hallo
|
||||||
endsnippet
|
endsnippet
|
||||||
|
|
||||||
@@ -77,15 +77,16 @@ 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 = ""`
|
||||||
}
|
}
|
||||||
@@ -110,7 +111,7 @@ if (!`!p snip.rv = match.group(1)`) {
|
|||||||
$0
|
$0
|
||||||
endsnippet
|
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 */
|
/* create descriptor `!p snip.rv = match.group(1)` for file $1 */
|
||||||
`!p snip.rv = match.group(1)` = open(${1:"Filename"}, ${2:"MODE"});
|
`!p snip.rv = match.group(1)` = open(${1:"Filename"}, ${2:"MODE"});
|
||||||
if (-1 == `!p snip.rv = match.group(1)`) {
|
if (-1 == `!p snip.rv = match.group(1)`) {
|
||||||
@@ -357,3 +358,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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -49,6 +49,13 @@ $1
|
|||||||
$0
|
$0
|
||||||
endsnippet
|
endsnippet
|
||||||
|
|
||||||
|
snippet cjson "json code"
|
||||||
|
\`\`\`json
|
||||||
|
$1
|
||||||
|
\`\`\`
|
||||||
|
$0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
snippet ,m "Math equation" A
|
snippet ,m "Math equation" A
|
||||||
\$$1\$ $0
|
\$$1\$ $0
|
||||||
endsnippet
|
endsnippet
|
||||||
|
|||||||
@@ -75,3 +75,14 @@ endsnippet
|
|||||||
snippet println "println" A
|
snippet println "println" A
|
||||||
println!("$1");$0
|
println!("$1");$0
|
||||||
endsnippet
|
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
|
||||||
|
|||||||
@@ -64,6 +64,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
|
||||||
@@ -484,6 +485,12 @@ else:
|
|||||||
$0
|
$0
|
||||||
endsnippet
|
endsnippet
|
||||||
|
|
||||||
snippet cc "Cite" A
|
snippet cc "Cite" i
|
||||||
\\cite{$1}$0
|
\\cite{$1}$0
|
||||||
endsnippet
|
endsnippet
|
||||||
|
|
||||||
|
snippet setenv "Set Environment around Text" b
|
||||||
|
\\begin{$1}
|
||||||
|
${VISUAL}
|
||||||
|
\\end{$1}$0
|
||||||
|
endsnippet
|
||||||
|
|||||||
@@ -56,5 +56,4 @@ if t[3] != "Geburtsdatum" and len(t[3]) == 8:
|
|||||||
if len(t[3]) > 4:
|
if len(t[3]) > 4:
|
||||||
t[3] = f"{t[3][:5]}.{t[3][5:]}"
|
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}
|
`|${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
|
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
|
||||||
|
|||||||
5
UltiSnips/xml.snippets
Normal file
5
UltiSnips/xml.snippets
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
snippet tg "automated tag insertion" b
|
||||||
|
<${1:tag}>
|
||||||
|
$2
|
||||||
|
</${1/(\w+).*/$1/}>$0
|
||||||
|
endsnippet
|
||||||
7
init.lua
7
init.lua
@@ -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
|
||||||
@@ -21,7 +22,3 @@ require("lazy").setup("plugins")
|
|||||||
require("plugconfig")
|
require("plugconfig")
|
||||||
|
|
||||||
require("confformat")
|
require("confformat")
|
||||||
|
|
||||||
vim.cmd("source ~/.config/nvim/viml/plugconfig.vim")
|
|
||||||
|
|
||||||
local plugtestbench = require("plugbench")
|
|
||||||
|
|||||||
51
lazy-lock.json
Normal file
51
lazy-lock.json
Normal 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" }
|
||||||
|
}
|
||||||
@@ -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!
|
|
||||||
@@ -16,10 +16,15 @@ cmp.setup({
|
|||||||
},
|
},
|
||||||
|
|
||||||
-- Add borders to the windows
|
-- Add borders to the windows
|
||||||
-- window = {
|
window = {
|
||||||
-- completion = cmp.config.window.bordered(),
|
completion = cmp.config.window.bordered(),
|
||||||
-- documentation = cmp.config.window.bordered(),
|
documentation = cmp.config.window.bordered(),
|
||||||
-- },
|
},
|
||||||
|
|
||||||
|
-- experimental settings
|
||||||
|
experimental = {
|
||||||
|
ghost_text = {},
|
||||||
|
},
|
||||||
|
|
||||||
-- mapping
|
-- mapping
|
||||||
mapping = cmp.mapping.preset.insert({
|
mapping = cmp.mapping.preset.insert({
|
||||||
@@ -49,12 +54,11 @@ cmp.setup({
|
|||||||
{ name = "path" },
|
{ name = "path" },
|
||||||
{ name = "nvim_lsp", keyword_length = 2 },
|
{ name = "nvim_lsp", keyword_length = 2 },
|
||||||
{ name = "nvim_lsp_signature_help" },
|
{ name = "nvim_lsp_signature_help" },
|
||||||
{ name = "nvim_lua", keyword_length = 4 },
|
-- { name = "nvim_lua", keyword_length = 2 },
|
||||||
{ name = "buffer", keyword_length = 3 },
|
{ name = "buffer", keyword_length = 2 },
|
||||||
{ name = "calc" },
|
{ name = "calc" },
|
||||||
{ name = "lua-latex-symbols", option = { cache = true } },
|
{ name = "lua-latex-symbols", option = { cache = true } },
|
||||||
-- { name = "spell", option = { keep_all_entries = false }, keyword_length = 2 },
|
{ name = "cmp_tabnine", keyword_length = 3 },
|
||||||
-- { name = "fuzzy_buffer", keyword_length = 2 }, -- Throwing unknown errors
|
|
||||||
}),
|
}),
|
||||||
|
|
||||||
-- add formatting of the different sources
|
-- add formatting of the different sources
|
||||||
@@ -70,6 +74,7 @@ cmp.setup({
|
|||||||
lualatexsymbols = "𝕋",
|
lualatexsymbols = "𝕋",
|
||||||
spell = "📚",
|
spell = "📚",
|
||||||
fuzzy_buffer = "📄",
|
fuzzy_buffer = "📄",
|
||||||
|
cmp_tabnine = "🖳",
|
||||||
}
|
}
|
||||||
item.menu = menu_icon[entry.source.name]
|
item.menu = menu_icon[entry.source.name]
|
||||||
return item
|
return item
|
||||||
@@ -92,6 +97,16 @@ cmp.setup.cmdline({ "/", "?" }, {
|
|||||||
sources = {
|
sources = {
|
||||||
{ name = "buffer" },
|
{ name = "buffer" },
|
||||||
},
|
},
|
||||||
|
formatting = {
|
||||||
|
fields = { "menu", "abbr", "kind" },
|
||||||
|
format = function(entry, item)
|
||||||
|
local menu_icon = {
|
||||||
|
buffer = "📚",
|
||||||
|
}
|
||||||
|
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).
|
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
|
||||||
@@ -99,8 +114,20 @@ cmp.setup.cmdline(":", {
|
|||||||
mapping = cmp.mapping.preset.cmdline(),
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
sources = cmp.config.sources({
|
sources = cmp.config.sources({
|
||||||
{ name = "path" },
|
{ name = "path" },
|
||||||
{ name = "cmdline_history", keyword_length = 15 },
|
{ name = "cmdline_history", keyword_length = 8 },
|
||||||
}, {
|
}, {
|
||||||
{ name = "cmdline" },
|
{ name = "cmdline" },
|
||||||
}),
|
}),
|
||||||
|
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,
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -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
|
|
||||||
})
|
|
||||||
@@ -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
|
|
||||||
@@ -1,3 +1,15 @@
|
|||||||
|
-- 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
|
-- UltiSnips Configuration
|
||||||
vim.g.UltiSnipsExpandTrigger = "<tab>"
|
vim.g.UltiSnipsExpandTrigger = "<tab>"
|
||||||
vim.g.UltiSnipsJumpForwardTrigger = "<c-l>"
|
vim.g.UltiSnipsJumpForwardTrigger = "<c-l>"
|
||||||
@@ -7,6 +19,7 @@ vim.g.UltiSnipsSnippetDirectories = { "~/.config/nvim/UltiSnips" }
|
|||||||
|
|
||||||
-- NERDTree Config
|
-- NERDTree Config
|
||||||
vim.g.NERDTreeShowHidden = 1
|
vim.g.NERDTreeShowHidden = 1
|
||||||
|
vim.keymap.set("n", "<C-e>", ":NERDTreeToggle<CR>")
|
||||||
|
|
||||||
-- Lexima
|
-- Lexima
|
||||||
vim.g.lexima_enable_basic_rules = 1
|
vim.g.lexima_enable_basic_rules = 1
|
||||||
@@ -32,9 +45,6 @@ vim.g.NERDTreeDirArrowCollapsible = "▾"
|
|||||||
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
|
|
||||||
require("ibl").setup()
|
|
||||||
|
|
||||||
-- Code completion
|
-- Code completion
|
||||||
require("code-completion")
|
require("code-completion")
|
||||||
|
|
||||||
@@ -67,3 +77,23 @@ require("mason-lspconfig").setup_handlers({
|
|||||||
})
|
})
|
||||||
end,
|
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 vim-monokai-tasty")
|
||||||
|
|
||||||
|
-- Formatter configuration
|
||||||
|
vim.cmd([[
|
||||||
|
augroup FormatAutogroup
|
||||||
|
autocmd!
|
||||||
|
autocmd BufWritePost * FormatWrite
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
autocmd BufWritePost *.v lua vim.lsp.buf.format({ async = false })
|
||||||
|
]])
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ return {
|
|||||||
"yannickreiss/nvim-doxyscan",
|
"yannickreiss/nvim-doxyscan",
|
||||||
"nvim-tree/nvim-web-devicons",
|
"nvim-tree/nvim-web-devicons",
|
||||||
{ "romgrk/barbar.nvim", wants = "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",
|
"mhinz/vim-startify",
|
||||||
"folke/tokyonight.nvim",
|
"folke/tokyonight.nvim",
|
||||||
@@ -63,4 +62,7 @@ return {
|
|||||||
"quangnguyen30192/cmp-nvim-ultisnips",
|
"quangnguyen30192/cmp-nvim-ultisnips",
|
||||||
"mihaifm/bufstop",
|
"mihaifm/bufstop",
|
||||||
"https://git.nickr.eu/yannickreiss/nvim-sourcer.git",
|
"https://git.nickr.eu/yannickreiss/nvim-sourcer.git",
|
||||||
|
{ "tzachar/cmp-fuzzy-buffer", requires = { "hrsh7th/nvim-cmp", "tzachar/fuzzy.nvim" } },
|
||||||
|
"jaredgorski/spacecamp",
|
||||||
|
"voldikss/vim-floaterm",
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +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.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.g.mapleader = ","
|
||||||
|
vim.cmd("set clipboard+=unnamedplus")
|
||||||
|
vim.cmd("autocmd! CursorHold,CursorHoldI *.md write")
|
||||||
|
|
||||||
|
-- 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-moon<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>")
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
|
||||||
}
|
|
||||||
@@ -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.
@@ -171,3 +171,5 @@ gcc
|
|||||||
linux
|
linux
|
||||||
chibicc
|
chibicc
|
||||||
chibi
|
chibi
|
||||||
|
readonly
|
||||||
|
extern
|
||||||
|
|||||||
Binary file not shown.
17
viml/automacro.vim
Normal file
17
viml/automacro.vim
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
" 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
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
nnoremap <leader>o :call SpacedLine()<CR>
|
||||||
|
nnoremap <leader>ls :call SwapWords()<CR>
|
||||||
@@ -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>
|
|
||||||
@@ -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>
|
|
||||||
@@ -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
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user