58 Commits

Author SHA1 Message Date
3db17f9849 Update
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled
2025-07-31 08:57:16 +02:00
8564daf4b5 Create nix interpreter output
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled
2025-07-17 16:42:07 +02:00
f19f71c182 Markdown preview
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled
2025-07-15 16:17:23 +02:00
084fff8e1a Cyberdream
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled
2025-07-10 15:06:16 +02:00
82226b4f78 Add lean snippets and do Neovide
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled
2025-07-08 19:59:46 +02:00
c4c65c4e65 Merge branch 'master' of git.nickr.eu:yannickreiss/nvim
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled
2025-06-25 17:28:22 +02:00
8ecfde7ce1 Add spark wiki to config 2025-06-25 17:28:15 +02:00
Nick
437ce3ff2e Resolve merge conflicts
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled
2025-06-24 14:58:18 +02:00
Nick
4ad4a777f6 Add mail snippet to glob
ab
2025-06-24 14:56:19 +02:00
7daedc0b31 Ada proofs
Some checks are pending
Test Neovim config on push / build (ubuntu-20.04) (push) Waiting to run
2025-06-24 09:13:12 +02:00
5ee0540a2e Prove framework
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled
2025-06-15 14:53:46 +02:00
41ec16380b Add function to prove ada/Spark code
Some checks are pending
Test Neovim config on push / build (ubuntu-20.04) (push) Waiting to run
2025-06-14 23:23:28 +02:00
d79f1fd6d4 Ada mode update
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled
2025-06-11 14:43:13 +02:00
742e6f614a Remove unused features from config
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled
2025-05-22 08:44:07 +02:00
730ec3b4bd Change default from rel to abs number
Some checks are pending
Test Neovim config on push / build (ubuntu-20.04) (push) Waiting to run
2025-05-21 22:36:30 +02:00
1234f9bd4c Update
Some checks are pending
Test Neovim config on push / build (ubuntu-20.04) (push) Waiting to run
2025-05-21 18:48:17 +02:00
12a3293fff Remove lazy lock from repo
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 28s
2025-03-31 10:00:34 +02:00
e26dfea84f Add lazy lock to ignored files 2025-03-31 09:59:58 +02:00
2d0a74ed82 Change layout style of completion menu 2025-03-31 09:59:19 +02:00
8e09bfd6b7 Remove autoformat 2025-03-31 09:58:29 +02:00
9da04ad7e8 No ensure installed lsps
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 19s
2025-03-28 07:47:55 +01:00
c91101470c Change default colorscheme
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 27s
2025-03-27 11:33:35 +01:00
b11d36ba16 Snippets
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 26s
2025-03-25 08:52:24 +01:00
67eaafaee9 Add ignore
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 28s
2025-03-18 11:32:00 +01:00
a02cf6a902 Mail client
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 21s
2025-03-18 11:05:20 +01:00
ae06236c2c Add mail client to nvim
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 31s
2025-03-18 11:01:38 +01:00
339d5b1197 add password file to gitignore
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Has been cancelled
2025-03-18 11:01:17 +01:00
06c098c194 Python updates
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 52s
2025-03-15 19:19:36 +01:00
886d434849 Adjust Ada snippets to styleguide
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 27s
2025-02-24 07:37:01 +01:00
cca29ca695 Spell
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 22s
2025-02-04 07:59:33 +01:00
f4909335c1 Set ada configuration file dynamically on startup
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 24s
2025-02-04 07:26:10 +01:00
c8be7d19a7 Change some defaults and the completion window looks
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 30s
2025-02-03 15:00:49 +01:00
443a0cb897 Spell check
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 21s
2025-02-01 07:17:01 +01:00
5b1d0d66de Add ada mode
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 31s
2025-01-24 21:41:28 +01:00
59dc3784af Add screenkey mapping
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 29s
2024-12-27 16:09:30 +01:00
8cee1dc880 Ada mode
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 1m0s
2024-12-19 10:37:14 +01:00
af28c12ea7 Add screenkey
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 1m0s
2024-12-19 08:58:04 +01:00
4aa297662c Show key plugin
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 27s
2024-12-19 08:44:13 +01:00
fb0655896c Remove which-key, much to annoying 2024-12-18 12:22:11 +01:00
298e80f221 Add pascal snippets
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 25s
2024-12-18 09:29:02 +01:00
35da498b9b Add which key for testing 2024-12-18 09:28:38 +01:00
2836ff63e3 A very nice procedure snippet for pascal
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 52s
2024-12-12 09:47:32 +01:00
6e48879ffa Disable pascal formatter.
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 33s
2024-12-12 06:18:24 +01:00
e5aa6d7012 Update nvim
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 28s
2024-11-26 19:08:52 +01:00
d63a431242 Add high contrast theme
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 1m39s
2024-11-01 10:00:14 +01:00
deda105b50 Add VHDL formatter
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 1m41s
2024-10-09 10:00:30 +02:00
cfa581bf05 LSP configuration for LaTeX
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 41s
2024-10-09 09:08:49 +02:00
c0ad357563 Remove Ada language server
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 2m16s
2024-10-08 11:10:52 +02:00
3217a4456c Update Mason packages
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 2m39s
2024-10-08 11:01:27 +02:00
4357a36235 Autosetup lsp servers 2024-10-08 10:49:48 +02:00
01359aca3c Ensure installed packages
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 34s
2024-10-08 10:25:44 +02:00
2d7c2974ef Syntax feature upgrade for ada snippets
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 2m47s
2024-10-08 10:07:59 +02:00
02c752a943 Use fourmolu as Haskell formatter and fixer 2024-10-08 10:07:17 +02:00
8cb88ec054 Formatter update
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 29s
2024-10-07 08:19:18 +02:00
5f931de4cc Ada snippet update 2024-10-07 08:19:07 +02:00
af4b80906f Disable ada mode
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 2m8s
2024-10-07 07:55:16 +02:00
cc1a7c9311 Add ada formatting
Some checks failed
Test Neovim config on push / build (ubuntu-20.04) (push) Failing after 1m24s
2024-10-07 07:46:40 +02:00
99e59d66e3 Add A,B:Type Syntax to Ultisnips function snippet 2024-10-07 07:46:25 +02:00
24 changed files with 598 additions and 108 deletions

4
.gitignore vendored
View File

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

View File

@@ -68,8 +68,21 @@ snip.rv = ""
if t[2].startswith("l"):
parameters = []
else:
parameters = t[2].replace("; ", ";").split(";");
parameters = t[2].replace("; ", ";").replace('in ', '').replace('out ', '')
parameters = parameters.replace(' ', '').split(";");
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"
@@ -82,7 +95,7 @@ else:
for variable in variables:
if not variable == "" and not variable.startswith("typ"):
variableless = variable.replace("\t", "").replace (" ", "")
snip.rv += f"-- @variable {variableless}\n"
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
@@ -99,11 +112,24 @@ snip.rv = ""
if t[2].startswith("l"):
parameters = []
else:
parameters = t[2].replace("; ", ";").split(";");
parameters = t[2].replace("; ", ";").replace('in ', '').replace('out ', '')
parameters = parameters.replace(' ', '').split(";");
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"
snip.rv += f"\t-- @parameter {parameterless}\n"
``!p
snip.rv = ""
if t[4].startswith("l"):
@@ -113,8 +139,8 @@ else:
for variable in variables:
if not variable == "" and not variable.startswith("typ") and not variable.startswith("--"):
variableless = variable.replace("\t", "").replace (" ", "")
snip.rv += f"-- @variable {variableless}\n"
`-- @description $5
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
@@ -159,3 +185,10 @@ if t[6] == "y":
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

View File

@@ -2,10 +2,54 @@ snippet dd "Date and Time" i
`date`
endsnippet
snippet cred "My private Credentials"
Nicki Reiss <yannick.reiss@nickr.eu>
snippet crednick "My private Credentials"
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

View File

@@ -0,0 +1,3 @@
snippet ß "Add backslash" A
\\
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

@@ -52,3 +52,17 @@ endsnippet
snippet ,m "Math equation" A
\$$1\$ $0
endsnippet
snippet bookshelf "Tagline for bookshelf" b
`!p
if t[1] != "":
snip.rv = "[CW: "
else:
snip.rv = ""`$1`!p
if t[1] != "":
snip.rv = "]"
else:
snip.rv = ""`
${2:Title} by ${3:Author}
${4:Description}
endsnippet

View File

@@ -18,6 +18,74 @@ Begin
End.
endsnippet
snippet -- "Add multiline comment" A
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

6
UltiSnips/pyenv.snippets Normal file
View File

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

View File

@@ -11,7 +11,7 @@ if __name__ == "__main__":
$0
endsnippet
snippet docmodule "Documentation for modules" A
snippet docmodule "Documentation for modules"
"""
File: `!p snip.rv = fn`
Author: ${1:Yannick Reiß}
@@ -21,7 +21,7 @@ Description: ${2:No further description}
$0
endsnippet
snippet def "Python Function" A
snippet def "Python Function"
def ${1:function}(${2}):
"""
@name $1
@@ -35,12 +35,12 @@ for param in params:
snip.rv += f"\t\t@param {param}\n"
`
Returns:
$4
@return $4
"""
$5
`!p
if t[4] != "":
snip.rv = f"\n return {t[4]}"`
if t[4] != "" and len(t[4].split(":")) > 1:
snip.rv = f"return {t[4].split(':')[0]}"`
$0
endsnippet

View File

@@ -1,3 +1,5 @@
extends pyenv
snippet cc "Add Citation" i
\\cite{$1}$0
endsnippet

View File

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

View File

@@ -49,7 +49,7 @@ endsnippet
snippet docstring "Header Comment" A
-- `!p snip.rv = fn`
-- 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]`}
$0
endsnippet

View File

@@ -1,51 +0,0 @@
{
"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" }
}

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

@@ -16,6 +16,9 @@ cmp.setup({
},
-- Add borders to the windows
view = {
entries = "custom",
},
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),

View File

@@ -12,8 +12,6 @@ require("formatter").setup({
-- 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,
},
@@ -45,6 +43,34 @@ require("formatter").setup({
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
-- any filetype
["*"] = {

View File

@@ -9,22 +9,26 @@ local linters = {
latex = { "proselint" },
tex = { "proselint" },
plaintex = { "proselint" },
ada = { "gnat", "gcc", "cspell" },
ada = { "gnat", "gcc", "adals", "cspell" },
}
vim.g.ale_linters = linters
vim.g.ale_fix_on_save = 0
vim.g.ale_fixers = {
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>ld", ":ALEDetail<CR>")
vim.keymap.set("n", "<leader>lp", ":ALEFindReferences<CR>")

View File

@@ -10,16 +10,81 @@ require("mason").setup(require("mason").setup({
}))
require("mason-lspconfig").setup({
-- ensure_installed = { "clangd", "cmake", "jdtls", "texlab", "pylsp" },
ensure_installed = { "clangd" },
ensure_installed = {
"lua_ls",
},
})
require("mason-lspconfig").setup_handlers({
function(clangd)
require("lspconfig")[clangd].setup({})
end,
})
-- 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

@@ -11,7 +11,7 @@ local function setup_pascal()
-- 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("wget -O ~/.local/bin/ptop https://www.nickr.eu/data/ptop64")
os.execute("chmod +x ~/.local/bin/ptop")
end
@@ -50,7 +50,7 @@ local function auto_format()
end
-- Add formatter command
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
pattern = { "*.pas" },
callback = auto_format,
})
--vim.api.nvim_create_autocmd({ "BufWritePost" }, {
-- pattern = { "*.pas" },
-- callback = auto_format,
--})

View File

@@ -1,5 +1,8 @@
-- VHDL mode (Vanilla with shell interaction)
require("vhdl_mode")
-- Formatter configuration
require("confformat")
require("formatterconfiguration")
-- Code completion
require("code-completion")
@@ -19,6 +22,14 @@ 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 = {}
@@ -26,8 +37,9 @@ end
-- Update function and call
function Update_Sys()
--vim.cmd("TSUpdate")
vim.cmd("MasonUpdate")
vim.cmd("Lazy sync")
vim.cmd("TSUpdate")
end
vim.keymap.set("n", "<M-u>", ":lua Update_Sys()<CR>")
@@ -44,4 +56,5 @@ vim.g.gitblame_date_format = "%r"
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")
-- vim.cmd("colo vim-monokai-tasty")
vim.cmd("colo vim-monokai-tasty")

View File

@@ -34,6 +34,7 @@ return {
"nvim-tree/nvim-web-devicons",
{ "romgrk/barbar.nvim", wants = "nvim-web-devicons" },
"mhinz/vim-startify",
"p00f/nvim-ts-rainbow",
{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
@@ -45,19 +46,38 @@ return {
sync_install = false,
highlight = { enable = true },
indent = { enable = true },
rainbow = {
enable = true,
extended_mode = true,
max_file_lines = 3000,
},
})
end,
},
"p00f/nvim-ts-rainbow",
"dense-analysis/ale",
"f-person/git-blame.nvim",
"dstein64/vim-startuptime",
"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",
"patstockwell/vim-monokai-tasty",
"hiroakis/cyberspace.vim",
"jaredgorski/spacecamp",
{
"scottmckendry/cyberdream.nvim",
lazy = false,
priority = 1000,
},
-- Code completion / Menu
"hrsh7th/nvim-cmp",
@@ -81,4 +101,54 @@ return {
"mfussenegger/nvim-dap",
"mhartington/formatter.nvim",
{ "TamaMcGlinn/nvim-lspconfig-ada" },
"sainnhe/sonokai",
-- Plugins to test
"https://git.nickr.eu/yannickreiss/nvim-macrotool.git",
-- 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

@@ -16,6 +16,7 @@ vim.opt.shiftwidth = 4
vim.opt.expandtab = 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")
@@ -28,7 +29,6 @@ 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
@@ -36,7 +36,7 @@ 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 = ""
-- vim.opt.mouse = ""
-- set copy mode
vim.keymap.set("n", "<leader>ll", ":set nonumber<cr>")
@@ -45,3 +45,61 @@ 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