Compare commits

...

6 Commits

Author SHA1 Message Date
iGor milhit d72b73b9af
plugins: add keymap for the command history picker
- Adds a keymap (<leader>ch) for the command history picker of
  telescope.
- Removes the kickstart big comment on top of the init.lua file.
- Removes the config file that I don't remember the utility.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2023-10-17 11:27:03 +02:00
iGor milhit 175cf395d8
plugins: remove the ZenMode plugin
- Removes the ZenMode plugin as I should have done long ago.
- Lazy loads the Rainbow CSV plugin.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2023-10-17 11:27:03 +02:00
iGor milhit 9cf30ae89b
plugins: update config to the ibl version 3
- Updates the configuration accordingly to the indent blankline plugin
  version 3.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2023-10-17 11:27:02 +02:00
iGor milhit 30c41bbdbe
git: ignore the spell directory
Co-Authored-by: iGor milhit <igor@milhit.ch>
2023-10-17 11:27:02 +02:00
iGor milhit f9b7aa0279
json: add configuration for JSON
- Adds the `json` parser to the treesitter languages for linting
  purpose.
- Adds `jsonls` as language server provider for JSON.
- Creates the `after/ftplugin` folders.
- Sets specific settings for JSON for folding method.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2023-10-17 11:27:02 +02:00
iGor milhit 7cb3422123
snippets: add HTML and commit snippets
- Creates a new file for custom HTML snippets.
- Creates three snippets to be used when updating the clinical medicine
  library portal with bibliographic descriptions:
  - A main HTML structure with CSS styling.
  - An item with some bibliographic description examples.
  - A list item with a link to an ebook online.
- Creates a snippet for commit message to save working hours.
- Creates snippet for incremental note commits.
- Creates snippet for AoU stats commits.
- Removes redundant markdown snippets for the date.
- Improves the markdown snippet for incremental note entry.
- Improves the LuaSnip configuration and moves it outside the nvim-cmp
  configuration.
- Increments the French personal dictionary.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2023-10-17 11:26:21 +02:00
10 changed files with 218 additions and 255 deletions

2
.gitignore vendored
View File

@ -6,7 +6,7 @@ autoload
.netrwhist
# spell *.spl
spell/fr.utf-8.add.spl
spell/
tags
test.sh

View File

@ -0,0 +1,8 @@
-- Specific settings for JSON files
-- Use treesitter for folding
-- Disable the color column
vim.opt.foldmethod="expr"
vim.opt.foldexpr="nvim_treesitter#foldexpr()"
vim.opt.foldlevel=3
vim.opt.colorcolumn=""

156
config
View File

@ -1,156 +0,0 @@
let SessionLoad = 1
let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=-1 siso=-1
let v:this_session=expand("<sfile>:p")
silent only
silent tabonly
cd ~/neovim
if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == ''
let s:wipebuf = bufnr('%')
endif
let s:shortmess_save = &shortmess
if &shortmess =~ 'A'
set shortmess=aoOA
else
set shortmess=aoO
endif
badd +1 README.md
badd +150 init.lua
badd +0 term://~/neovim//59689:/usr/bin/zsh
badd +0 lua/custom/plugins/markdownpreview.lua
argglobal
%argdel
$argadd README.md
edit lua/custom/plugins/markdownpreview.lua
let s:save_splitbelow = &splitbelow
let s:save_splitright = &splitright
set splitbelow splitright
wincmd _ | wincmd |
vsplit
1wincmd h
wincmd w
wincmd _ | wincmd |
split
1wincmd k
wincmd _ | wincmd |
vsplit
1wincmd h
wincmd w
wincmd w
let &splitbelow = s:save_splitbelow
let &splitright = s:save_splitright
wincmd t
let s:save_winminheight = &winminheight
let s:save_winminwidth = &winminwidth
set winminheight=0
set winheight=1
set winminwidth=0
set winwidth=1
exe 'vert 1resize ' . ((&columns * 40 + 106) / 213)
exe '2resize ' . ((&lines * 34 + 24) / 48)
exe 'vert 2resize ' . ((&columns * 86 + 106) / 213)
exe '3resize ' . ((&lines * 34 + 24) / 48)
exe 'vert 3resize ' . ((&columns * 85 + 106) / 213)
exe '4resize ' . ((&lines * 11 + 24) / 48)
exe 'vert 4resize ' . ((&columns * 172 + 106) / 213)
argglobal
enew
file neo-tree\ filesystem\ \[1]
balt init.lua
setlocal fdm=manual
setlocal fde=0
setlocal fmr={{{,}}}
setlocal fdi=#
setlocal fdl=0
setlocal fml=1
setlocal fdn=20
setlocal fen
wincmd w
argglobal
balt init.lua
setlocal fdm=manual
setlocal fde=0
setlocal fmr={{{,}}}
setlocal fdi=#
setlocal fdl=0
setlocal fml=1
setlocal fdn=20
setlocal fen
silent! normal! zE
let &fdl = &fdl
let s:l = 1 - ((0 * winheight(0) + 17) / 34)
if s:l < 1 | let s:l = 1 | endif
keepjumps exe s:l
normal! zt
keepjumps 1
normal! 0
wincmd w
argglobal
if bufexists(fnamemodify("init.lua", ":p")) | buffer init.lua | else | edit init.lua | endif
if &buftype ==# 'terminal'
silent file init.lua
endif
balt lua/custom/plugins/markdownpreview.lua
setlocal fdm=manual
setlocal fde=0
setlocal fmr={{{,}}}
setlocal fdi=#
setlocal fdl=0
setlocal fml=1
setlocal fdn=20
setlocal fen
silent! normal! zE
let &fdl = &fdl
let s:l = 150 - ((22 * winheight(0) + 17) / 34)
if s:l < 1 | let s:l = 1 | endif
keepjumps exe s:l
normal! zt
keepjumps 150
normal! 031|
wincmd w
argglobal
if bufexists(fnamemodify("term://~/neovim//59689:/usr/bin/zsh", ":p")) | buffer term://~/neovim//59689:/usr/bin/zsh | else | edit term://~/neovim//59689:/usr/bin/zsh | endif
if &buftype ==# 'terminal'
silent file term://~/neovim//59689:/usr/bin/zsh
endif
balt init.lua
setlocal fdm=manual
setlocal fde=0
setlocal fmr={{{,}}}
setlocal fdi=#
setlocal fdl=0
setlocal fml=1
setlocal fdn=20
setlocal fen
let s:l = 5 - ((2 * winheight(0) + 5) / 11)
if s:l < 1 | let s:l = 1 | endif
keepjumps exe s:l
normal! zt
keepjumps 5
normal! 03|
wincmd w
3wincmd w
exe 'vert 1resize ' . ((&columns * 40 + 106) / 213)
exe '2resize ' . ((&lines * 34 + 24) / 48)
exe 'vert 2resize ' . ((&columns * 86 + 106) / 213)
exe '3resize ' . ((&lines * 34 + 24) / 48)
exe 'vert 3resize ' . ((&columns * 85 + 106) / 213)
exe '4resize ' . ((&lines * 11 + 24) / 48)
exe 'vert 4resize ' . ((&columns * 172 + 106) / 213)
tabnext 1
if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal'
silent exe 'bwipe ' . s:wipebuf
endif
unlet! s:wipebuf
set winheight=1 winwidth=20
let &shortmess = s:shortmess_save
let &winminheight = s:save_winminheight
let &winminwidth = s:save_winminwidth
let s:sx = expand("<sfile>:p:r")."x.vim"
if filereadable(s:sx)
exe "source " . fnameescape(s:sx)
endif
let &g:so = s:so_save | let &g:siso = s:siso_save
nohlsearch
doautoall SessionLoadPost
unlet SessionLoad
" vim: set ft=vim :

View File

@ -1,41 +1,3 @@
--[[
=====================================================================
==================== READ THIS BEFORE CONTINUING ====================
=====================================================================
Kickstart.nvim is *not* a distribution.
Kickstart.nvim is a template for your own configuration.
The goal is that you can read every line of code, top-to-bottom, understand
what your configuration is doing, and modify it to suit your needs.
Once you've done that, you should start exploring, configuring and tinkering to
explore Neovim!
If you don't know anything about Lua, I recommend taking some time to read through
a guide. One possible example:
- https://learnxinyminutes.com/docs/lua/
And then you can explore or search through `:help lua-guide`
Kickstart Guide:
I have left several `:help X` comments throughout the init.lua
You should run that command and read that help section for more information.
In addition, I have some `NOTE:` items throughout the file.
These are for you, the reader to help understand what is happening. Feel free to delete
them once you know what you're doing, but they should serve as a guide for when you
are first encountering a few different constructs in your nvim config.
I hope you enjoy your Neovim journey,
- TJ
P.S. You can delete this when you're done too. It's your config now :)
--]]
-- Set <space> as the leader key
-- See `:help mapleader`
-- NOTE: Must happen before plugins are required (otherwise wrong leader will be used)
@ -173,9 +135,10 @@ require('lazy').setup({
'lukas-reineke/indent-blankline.nvim',
-- Enable `lukas-reineke/indent-blankline.nvim`
-- See `:help indent_blankline.txt`
main = "ibl",
opts = {
char = '',
show_trailing_blankline_indent = false,
indent = {char = ''},
whitespace = {remove_blankline_trail = false},
},
},
@ -329,6 +292,11 @@ require('telescope').setup {
},
},
},
pickers = {
command_history = {
theme = "dropdown",
}
}
}
-- Enable telescope fzf native, if installed
@ -356,13 +324,14 @@ vim.keymap.set('n', '<leader>sw', require('telescope.builtin').grep_string, { de
vim.keymap.set('n', '<leader>sg', require('telescope.builtin').live_grep, { desc = '[S]earch by [G]rep' })
vim.keymap.set('n', '<leader>sd', require('telescope.builtin').diagnostics, { desc = '[S]earch [D]iagnostics' })
vim.keymap.set('n', '<leader>sb', require('telescope.builtin').buffers, { desc = '[S]earch [B]uffers' })
vim.keymap.set('n', '<leader>ch', require('telescope.builtin').command_history, { desc = '[C]command [H]istory' })
vim.keymap.set('n', '<leader>ss', require'telescope'.extensions.luasnip.luasnip , { desc = '[S]earch [S]nippets' })
-- [[ Configure Treesitter ]]
-- See `:help nvim-treesitter`
require('nvim-treesitter.configs').setup {
-- Add languages to be installed here that you want installed for treesitter
ensure_installed = { 'c', 'cpp', 'go', 'lua', 'python', 'rust', 'tsx', 'typescript', 'vimdoc', 'vim' },
ensure_installed = { 'c', 'cpp', 'go', 'lua', 'python', 'rust', 'tsx', 'typescript', 'vimdoc', 'vim', 'json' },
-- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!)
auto_install = false,
@ -516,6 +485,11 @@ local servers = {
}
}
},
-- Require vscode-langservers-extracted
-- https://github.com/hrsh7th/vscode-langservers-extracted
jsonls = {
},
}
-- Setup neovim lua configuration
@ -563,6 +537,10 @@ require("luasnip.loaders.from_lua").load({paths = "~/.config/nvim/my_snippets/"}
-- https://www.ejmastnak.com/tutorials/vim-latex/luasnip/#refreshing-snippets-from-a-separate-vim-instance
vim.keymap.set('n', '<Leader>L', '<Cmd>lua require("luasnip.loaders.from_lua").load({paths = "~/.config/nvim/my_snippets/"})<CR>', { desc = 'Reload [L]uaSnippets' })
-- [[ Configure nvim-cmp ]]
-- See `:help cmp`
local cmp = require 'cmp'
cmp.setup {
snippet = {
expand = function(args)

View File

@ -2,6 +2,7 @@
return {
'cameron-wags/rainbow_csv.nvim',
lazy = true,
config = true,
ft = {
'csv',

View File

@ -1,39 +0,0 @@
-- Zen mode with twilight.
-- Improves the edition experience with distraction free feature.
return {
"folke/zen-mode.nvim",
ft = {
"markdown",
"pandoc"
},
-- Twilight allows to dim text outside of the cursor line.
dependencies = {
"folke/twilight.nvim",
opts = {
-- Set the context to null in order to avoid highlighting to much
-- paragraphs in markdown.
context = 0,
},
},
opts = {
window = {
-- Set the window width (85 columns) and height (80%).
width = 85,
height = .8,
options = {
-- Disable line numbering, signcolumn and colorcolumn.
number = false,
signcolumn = "no",
},
},
plugins = {
options = {
enabled = true,
ruler = false,
showcmd = false,
},
gitsigns = { enabled = false },
},
},
}

View File

@ -0,0 +1,48 @@
local ls = require("luasnip")
local s = ls.snippet
local t = ls.text_node
local f = ls.function_node
local fmt = require("luasnip.extras.fmt").fmt
-- Function to get the current date
local get_date = function()
return os.date("%Y-%m-%d")
end
return {
s(
{
trig = "hr",
name = "Heures",
dscr = "Insert a commit message for saving the worked hours."
},
{
t("organisation: enregistre les heures")
}
),
s(
{
trig = "ic",
name = "Incremental note commit message",
dscr = "Insert a commit message for my incremental notes commits."
},
fmt(
[[
Incrémente la note du {1}
]],
{
f(get_date, {})
}
)
),
s(
{
trig = "aou",
name = "AoU stats commit message",
dscr = "Commit message for an increment of AoU validation statistics."
},
{
t("r+e: incrémente les stats de validation de l'AoU")
}
)
}

View File

@ -0,0 +1,115 @@
-- My HTML snippets
-- Below, the duplicate of brackets, for instance in the CSS code, is for
-- escaping delimiters.
-- Set the local variables (shortcuts)
local ls = require("luasnip")
local s = ls.snippet
local i = ls.insert_node
local fmt = require("luasnip.extras.fmt").fmt
return {
-- A main snippet setting the outer structure, with the style tag.
-- Should be completed with the nested article item below.
s(
{
trig = "mcim",
name = "Main article structure for MC portal",
dscr = "Insert an HTML structure to add bibliographic description on the clinical medicine portal."
},
fmt(
[[
<article class="mc-{1}-main">
{2}
<style>
.mc-{1}-title {{
color: #cf0063;
font-size: xx-large;
}}
.mc-{1}-item > ul > li {{
padding: 0 !important;
}}
.mc-{1}-item li:not([class])::before,
.mc-{1}-item li::before {{
content: none;
}}
</style>
</article>
]],
{
i(1, "Class identifier"),
i(0)
},
{
repeat_duplicates = true
}
)
),
-- Snippet that inserts an article with bibliographic metatada, to be nested
-- in the upper main structure.
s(
{
trig = "mcii",
name = "Item article structure for MC portal",
dscr = "Insert an HTML structure to add an item bibliographic description on the clinical medicine portal."
},
fmt(
[[
<article class="mc-{1}-item">
<ul>
<li>Dorland W. Dorlands illustrated medical dictionary. 4th ed.</li>
<li>Philadelphia: Elsevier, 2020.</li>
<li>Cote : W 13 ed 4</li>
<li>
<a lang="fr"
dir="ltr"
type="html/text"
href="https://slsp-unige.primo.exlibrisgroup.com/articleermalink/41SLSP_UGE/l0hvjc/alma991008098789705502"
hreflang="français"
rel="nofollow"
target="_blank">
Le document dans le catalogue Swisscovery
</a>.
</li>
</ul>
<span placeholder="coins metadata"></span>
</article>{2}
]],
{
i(1, "Class identifier"),
i(0)
},
{
repeat_duplicates = true
}
)
),
-- Snippet that insert a list item with a link to an ebook online.
s(
{
trig = "eli",
name = "List item for an ebook link",
dscr = "Insert a link for an ebook nested in a list item. Designed for the medicine portal HTML structure."
},
fmt(
[[
<li>
<a dir="ltr"
type="html/text"
href="{1}"
lang="{2}"
hreflang="{3}"
ref="nofollow"
target="_blank">
Livre électronique en ligne
</a>.
</li>
]],
{
i(1, "Ebook URL"),
i(2, "Language code (2 chars)"),
i(3, "Language name")
}
)
)
}

View File

@ -40,7 +40,7 @@ end
return {
s(
{
trig = "datetime",
trig = "dt",
name = "Datetime",
dscr = "Insert the current datetime with locale daylight saving."
},
@ -48,16 +48,6 @@ return {
f(get_datetime, {})
}
),
s(
{
trig = "date",
name = "Date",
dscr = "Insert the current date."
},
{
f(get_date, {})
}
),
s(
{
trig = "id",
@ -78,6 +68,23 @@ return {
f(get_day, {})
}
),
s(
{
trig = "ie",
Name = "Inc entry",
dscr = "Insert an Inc entry for today (heading level 2)."
},
fmt(
[[
## {}
]],
{
f(get_day, {})
}
)
),
s(
{
trig = "fm",
@ -112,9 +119,8 @@ return {
[[
---
title: {1}
creation_date: {2}
author: iGor milhit
categories: [inc]
date: {2}
id: {4}
tags: [notes, quotidien, {3}]
---
@ -122,7 +128,8 @@ return {
{
f(get_month_year, {}),
f(get_datetime, {}),
f(get_month, {})
f(get_month, {}),
f(get_id, {})
}
)
),
@ -137,13 +144,12 @@ return {
[[
[{1}][{2}]
[{2}]: {3} "{4}"
[{2}]: {3}
]],
{
i(1, "Link text"),
i(2, "Reference"),
i(3, "Link target"),
i(4, "Title")
i(3, "Link target")
},
{ repeat_duplicates = true }
)

View File

@ -9,3 +9,5 @@ Réaménagement
biodiversité
hyperindustrialisés
lacto-fermentation
d'engrain
écorcheuse