Vergelijk commits

...

22 Commits

Auteur SHA1 Bericht Datum
f7af499573 Feat (nvim): cmdline on the middle of the screen 2025-01-05 06:07:54 +01:00
cd9ba86fca remove duplicate 2025-01-02 07:23:48 +01:00
938db338fc update ytb feeds 2025-01-02 07:23:32 +01:00
c95ee6f650 create alacritty config 2025-01-02 07:23:04 +01:00
cbe9a6c55c Feat: add vimtex to nivm 2024-12-24 10:58:39 +01:00
d812c32e37 Feat: replace rofi-pass with tessen 2024-11-09 13:04:54 +01:00
9cf5d8d5e0 Fix(sway): workspace switch 2024-03-01 06:00:32 +01:00
2131bb57c4 Feat(sway): cosmetics 2024-02-10 22:12:38 +01:00
5210b2a15a Feat(nvim): add noice 2024-01-06 20:42:56 +01:00
158c7a60a3 Feat: clean and add channels 2024-01-06 20:37:06 +01:00
39a18835a1 Feat(nvim): add mason_tool_installer 2023-11-15 06:14:35 +01:00
fa519bd74d Feat(nvim): add linting 2023-11-15 06:12:30 +01:00
f98a52e613 Feat(nvim): add formater for web tech, lua and python 2023-11-15 06:06:39 +01:00
44fb8a49fa Feat(newsboat): clean channel 2023-11-05 06:46:52 +01:00
52b956c423 Feat(sway): add reverse cable config 2023-11-05 06:46:09 +01:00
e43a76a132 Feat(nvim): add option for buffer completion 2023-11-05 06:44:33 +01:00
3029561478 Feat(nvim): add path and buffer 2023-11-05 06:40:03 +01:00
f85841cafe Feat(tmux): move status to the top 2023-10-29 04:18:51 +01:00
140872d0e6 Feat(sway): use default config 2023-10-20 06:27:15 +02:00
5b9d495de9 Feat(sway): add gesture 2023-10-20 06:26:33 +02:00
42b373b467 Feat: move from packer to lazy 2023-10-06 14:29:02 +02:00
9c5c85fe29 Feat: remove _ for keyword 2023-10-06 14:13:07 +02:00
55 gewijzigde bestanden met toevoegingen van 937 en 3594 verwijderingen

Bestand weergeven

@@ -0,0 +1,119 @@
[colors]
draw_bold_text_with_bright_colors = true
[colors.bright]
black = "#928374"
blue = "#83a598"
cyan = "#8ec07c"
green = "#b8bb26"
magenta = "#d3869b"
red = "#fb4934"
white = "#ebdbb2"
yellow = "#fabd2f"
[colors.normal]
black = "#282828"
blue = "#458588"
cyan = "#689d6a"
green = "#98971a"
magenta = "#b16286"
red = "#cc241d"
white = "#a89984"
yellow = "#d79921"
[colors.primary]
background = "#32302f"
foreground = "#ebdbb2"
[cursor]
style = "Block"
unfocused_hollow = true
[font]
size = 12.0
[font.bold]
family = "UbuntuMono Nerd Font"
style = "Bold"
[font.bold_italic]
family = "UbuntuMono Nerd Font"
style = "Bold Italic"
[font.glyph_offset]
x = 0
y = 0
[font.italic]
family = "UbuntuMono Nerd Font"
style = "Italic"
[font.normal]
family = "UbuntuMono Nerd Font"
style = "Regular"
[font.offset]
x = 0
y = 0
[[keyboard.bindings]]
action = "Paste"
key = "V"
mods = "Control|Shift"
[[keyboard.bindings]]
action = "Copy"
key = "C"
mods = "Control|Shift"
[[keyboard.bindings]]
action = "ResetFontSize"
key = "Key0"
mods = "Control"
[[keyboard.bindings]]
action = "IncreaseFontSize"
key = "Equals"
mods = "Control"
[[keyboard.bindings]]
action = "IncreaseFontSize"
key = "NumpadAdd"
mods = "Control"
[[keyboard.bindings]]
action = "DecreaseFontSize"
key = "NumpadSubtract"
mods = "Control"
[[keyboard.bindings]]
action = "DecreaseFontSize"
key = "Minus"
mods = "Control"
[[mouse.bindings]]
action = "PasteSelection"
mouse = "Middle"
[scrolling]
history = 10000
multiplier = 10
[selection]
save_to_clipboard = true
semantic_escape_chars = ",│`|:\"' ()[]{}<>"
[window]
decorations = "none"
[window.dimensions]
columns = 100
lines = 20
[window.padding]
x = 2
y = 2
[general]
live_config_reload = true

Bestand weergeven

@@ -1,6 +1,4 @@
https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "Tech"
https://www.youtube.com/feeds/videos.xml?channel_id=UCXuqSBlHAE6Xw-yeJA0Tunw "Tech"
https://www.youtube.com/feeds/videos.xml?channel_id=UCeeFfhMcJa1kjtfZAGskOCA "Tech"
https://www.youtube.com/feeds/videos.xml?channel_id=UCsRIv1fsbnQRIPKmUQbRzZg "Tech"
https://www.youtube.com/feeds/videos.xml?channel_id=UCUQo7nzH1sXVpzL92VesANw "Tech"
https://www.youtube.com/feeds/videos.xml?channel_id=UCV0qA-eDDICsRR9rPcnG7tw "Tech"
@@ -9,8 +7,6 @@ https://www.youtube.com/feeds/videos.xml?channel_id=UCVRJ6D343dX-x730MRP8tNw "Te
https://www.youtube.com/feeds/videos.xml?channel_id=UCG5Ph9Mm6UEQLJJ-kGIC2AQ "Tech" "OneMarcFifty"
https://www.youtube.com/feeds/videos.xml?channel_id=UCWedHS9qKebauVIK2J7383g "Tech" "Underscore_"
https://www.youtube.com/feeds/videos.xml?channel_id=UC9C07cryUrKzLuAzwITPA3A "SC2" "SC2HL"
https://www.youtube.com/feeds/videos.xml?channel_id=UCr_3nQ4eRCwm_XUDpf62MAg "Information "Partager C'est Sympa"
@@ -59,14 +55,17 @@ https://www.youtube.com/feeds/videos.xml?channel_id=UCy0I5Hcl2k7dN4UdZTedfeQ "Sp
https://www.youtube.com/feeds/videos.xml?channel_id=UCgkhWgBGRp0sdFy2MHDWfSg "Math" "El Ji"
https://www.youtube.com/feeds/videos.xml?channel_id=UCYO_jab_esuFRV4b17AJtAw "Math" "3Blue1Brown"
https://www.youtube.com/feeds/videos.xml?channel_id=UCLXDNUOO3EQ80VmD9nQBHPg "???" "Fouloscopie"
https://www.youtube.com/feeds/videos.xml?channel_id=UCaNlbnghtwlsGF-KzAFThqA "Science "ScienceEtonnante"
https://www.youtube.com/feeds/videos.xml?channel_id=UCLXDNUOO3EQ80VmD9nQBHPg "Science "Fouloscopie"
https://www.youtube.com/feeds/videos.xml?channel_id=UCoJtk2M8bme9KXTe6F3K-Yg "CLI" "The Mouseless Dev"
https://www.youtube.com/feeds/videos.xml?channel_id=UC8ENHE5xdFSwx71u3fDH5Xw "Vim" "ThePrimeagen"
https://www.youtube.com/feeds/videos.xml?channel_id=UCXPHFM88IlFn68OmLwtPmZA "Vim" "Greg Hurrel"
https://www.youtube.com/feeds/videos.xml?channel_id=UCs_AZuYXi6NA9tkdbhjItHQ "AdminSys" "Xavki"
https://www.youtube.com/feeds/videos.xml?channel_id=UCOk-gHyjcWZNj3Br4oxwh0A "Homelab" "Techno Tim"
https://www.youtube.com/feeds/videos.xml?channel_id=UC9x0AN7BWHpCDHSm9NiJFJQ "Homelab" "NetworkChuck"
https://www.youtube.com/feeds/videos.xml?channel_id=UCZNhwA1B5YqiY1nLzmM0ZRg "Homelab" "Christian Lempa"
https://www.youtube.com/feeds/videos.xml?channel_id=UCWQaM7SpSECp9FELz-cHzuQ "Cording" "Dream of Code"
https://www.youtube.com/feeds/videos.xml?channel_id=UCvjgXvBlbQiydffZU7m1_aw "Programmation" "~Coding Train"
https://www.youtube.com/feeds/videos.xml?channel_id=UCj_iGliGCkLcHSZ8eqVNPDQ "Programmation" "~Grafikart.fr"
https://www.youtube.com/feeds/videos.xml?channel_id=UCYeiozh-4QwuC1sjgCmB92w "Cording" "DevOps Toolbox"
https://www.youtube.com/feeds/videos.xml?channel_id=UCLOAPb7ATQUs_nDs9ViLcMw "Programmation" "Benjamin Code"
https://www.youtube.com/feeds/videos.xml?channel_id=UCiZxJB0xWfPBE2omVZeWPpQ "Programmation" "Mehdio DataTV"

Bestand weergeven

@@ -1,5 +1,17 @@
require('plugins')
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
vim.g.mapleader = ' ' -- Leaderkey
require("lazy").setup("plugins")
require('settings')
require('mappings')
require('lsp')

Bestand weergeven

@@ -0,0 +1,36 @@
{
"Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" },
"cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp-vsnip": { "branch": "main", "commit": "989a8a73c44e926199bfd05fa7a516d51f2d2752" },
"gitsigns.nvim": { "branch": "main", "commit": "ff01d34daaed72f271a8ffa088a7e839a60c640f" },
"gruvbox": { "branch": "master", "commit": "f1ecde848f0cdba877acb0c740320568252cc482" },
"indent-blankline.nvim": { "branch": "master", "commit": "877c1db2bf957300097dd5348a665666a4d900cb" },
"lazy.nvim": { "branch": "main", "commit": "6b6f0a451200bb6abde85978c577c73ea1577758" },
"lsp-zero.nvim": { "branch": "v3.x", "commit": "22677c535fdc11a73da67a186a30e360d8857497" },
"lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "e2705063f395b44f676cd26596a11007a2cbd3bd" },
"mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" },
"noice.nvim": { "branch": "main", "commit": "7cf858c30841c9c41601ce58e5bc2023228037ef" },
"nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" },
"nvim-autopairs": { "branch": "master", "commit": "de4f7138a68d5d5063170f2182fd27faf06b0b54" },
"nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" },
"nvim-colorizer.lua": { "branch": "master", "commit": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6" },
"nvim-lspconfig": { "branch": "master", "commit": "2b361e043810d5587d9af0787f8ce40da92ec5e9" },
"nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" },
"nvim-treesitter": { "branch": "master", "commit": "10bfa4826f2235c600c073a82e0d78718aa7240e" },
"nvim-web-devicons": { "branch": "master", "commit": "45d0237c427baba8cd05e0ab26d30e2ee58c2c82" },
"oil.nvim": { "branch": "master", "commit": "ac2928cca85ba3596e92f9f51940d46be2d606f8" },
"plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" },
"telescope.nvim": { "branch": "0.1.x", "commit": "54930e1abfc94409e1bb9266e752ef8379008592" },
"vim-abolish": { "branch": "master", "commit": "dcbfe065297d31823561ba787f51056c147aa682" },
"vim-fugitive": { "branch": "master", "commit": "99db68d9b3304580bd383da7aaee05c7a954a344" },
"vim-highlightedyank": { "branch": "master", "commit": "fa3f57b097e9521ce41a66b6c7cf5d9adea70ea3" },
"vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" },
"vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" },
"vim-tmux-navigator": { "branch": "master", "commit": "7db70e08ea03b3e4d91f63713d76134512e28d7e" },
"vim-vsnip": { "branch": "master", "commit": "be277461265f1e5c7db470aa479f30956597ea9e" },
"which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }
}

Bestand weergeven

@@ -1,133 +0,0 @@
local has_words_before = function()
if vim.api.nvim_buf_get_option(0, "buftype") == "prompt" then
return false
end
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
end
local feedkey = function(key, mode)
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true), mode, true)
end
local lsp_symbols = {
Text = "  (Text) ",
Method = "  (Method)",
Function = "  (Function)",
Constructor = "  (Constructor)",
Field = " ﴲ (Field)",
Variable = "[] (Variable)",
Class = "  (Class)",
Interface = " ﰮ (Interface)",
Module = "  (Module)",
Property = " 襁 (Property)",
Unit = "  (Unit)",
Value = "  (Value)",
Enum = " 練 (Enum)",
Keyword = "  (Keyword)",
Snippet = "  (Snippet)",
Color = "  (Color)",
File = "  (File)",
Reference = "  (Reference)",
Folder = "  (Folder)",
EnumMember = "  (EnumMember)",
Constant = " ﲀ (Constant)",
Struct = " ﳤ (Struct)",
Event = "  (Event)",
Operator = "  (Operator)",
TypeParameter = "  (TypeParameter)",
}
local status, cmp = pcall(require, "cmp")
if (not status) then return end
cmp.setup {
completion = {
completeopt = 'menuone,noinsert,noselect',
},
formatting = {
format = function(entry, vim_item)
-- fancy icons and a name of kind
vim_item.kind = lsp_symbols[vim_item.kind]
-- set a name for each source
vim_item.menu = ({
vsnip = "[vSnip]",
nvim_lsp = "[LSP]",
buffer = "[Buffer]",
path = "[Path]",
spell = "[Spell]",
})[entry.source.name]
return vim_item
end,
},
snippet = {
expand = function(args)
vim.fn["vsnip#anonymous"](args.body)
end,
},
mapping = {
["<cr>"] = cmp.mapping.confirm({ select = false, behavior = cmp.ConfirmBehavior.Replace }),
-- ["<Tab>"] = cmp.mapping.confirm({select = true, behavior = cmp.ConfirmBehavior.Insert}),
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif vim.fn["vsnip#available"](1) == 1 then
feedkey("<Plug>(vsnip-expand-or-jump)", "")
elseif has_words_before() then
cmp.complete()
else
fallback() -- The fallback function sends a already mapped key. In this case, it's probably `<Tab>`.
end
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function()
if cmp.visible() then
cmp.select_prev_item()
elseif vim.fn["vsnip#jumpable"](-1) == 1 then
feedkey("<Plug>(vsnip-jump-prev)", "")
end
end, { "i", "s" }),
},
sources = {
{ name = 'vsnip' },
{ name = 'nvim_lsp' },
{ name = 'path' },
{
name = 'buffer',
keyword_length = 4,
keyword_pattern = [[\d\@!\k\k*]],
options = {
-- keyword_pattern = [[\k\+]]-- for non ascii caracters
keyword_pattern = [[\d\@!\k\k*]],
}
},
-- { name = 'spell', keyword_length = 4 },
},
experimental = {
-- I like the new menu better! Nice work hrsh7th
native_menu = false,
-- Let's play with this for a day or two
ghost_text = true,
},
}
-- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline('/', {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = 'buffer' }
}
})
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = 'path' },
{ name = 'cmdline' }
})
})
vim.cmd [[autocmd FileType TelescopePrompt lua require('cmp').setup.buffer { enabled = false }]]
vim.g.vsnip_snippet_dir = '~/.config/nvim/vsnips'

Bestand weergeven

@@ -1,8 +0,0 @@
local status, autopairs = pcall(require, "nvim-autopairs")
if (not status) then return end
autopairs.setup{
disable_filetype = { "TelescopePrompt" , "vim" },
ignored_next_char = string.gsub([[ [%w%%%'%[%"%.] ]],"%s+", ""),
}

Bestand weergeven

@@ -1,4 +0,0 @@
vim.opt.termguicolors = true
require'colorizer'.setup()

Bestand weergeven

@@ -1 +0,0 @@
require('gitsigns').setup {}

Bestand weergeven

@@ -1,11 +0,0 @@
vim.opt.list = true
vim.opt.listchars:append("eol:↴")
local indent_blankline_status_ok, indent_blankline = pcall(require, "indent_blankline")
if not indent_blankline_status_ok then
return
end
indent_blankline.setup {
show_end_of_line = true,
}

Bestand weergeven

@@ -1,220 +0,0 @@
-- Eviline config for lualine
-- Author: shadmansaleh
-- Credit: glepnir
local lualine = require 'lualine'
-- Color table for highlights
local colors = {
bg = '#202328',
fg = '#bbc2cf',
yellow = '#ECBE7B',
cyan = '#008080',
darkblue = '#081633',
green = '#98be65',
orange = '#FF8800',
violet = '#a9a1e1',
magenta = '#c678dd',
blue = '#51afef',
red = '#ec5f67'
}
local conditions = {
buffer_not_empty = function() return vim.fn.empty(vim.fn.expand('%:t')) ~= 1 end,
hide_in_width = function() return vim.fn.winwidth(0) > 80 end,
check_git_workspace = function()
local filepath = vim.fn.expand('%:p:h')
local gitdir = vim.fn.finddir('.git', filepath .. ';')
return gitdir and #gitdir > 0 and #gitdir < #filepath
end
}
-- Config
local config = {
options = {
-- Disable sections and component separators
component_separators = "",
section_separators = "",
-- theme = 'gruvbox',
theme = {
-- We are going to use lualine_c an lualine_x as left and
-- right section. both are highlighted by c theme . so we
-- are just setting default looks o statusline
normal = {c = {fg = colors.fg, bg = colors.bg}},
inactive = {c = {fg = colors.fg, bg = colors.bg}}
}
},
sections = {
-- these are to remove the defaults
lualine_a = {},
lualine_b = {},
lualine_y = {},
lualine_z = {},
-- these will be filled later
lualine_c = {},
lualine_x = {
{
require("noice").api.statusline.mode.get,
cond = require("noice").api.statusline.mode.has,
color = { fg = "#ff9e64" },
}
}
},
inactive_sections = {
-- these are to remove the defaults
lualine_a = {},
lualine_v = {},
lualine_y = {},
lualine_z = {},
lualine_c = {},
lualine_x = {}
}
}
-- inserts a component in lualine_c at left section
local function ins_left(component)
table.insert(config.sections.lualine_c, component)
end
-- inserts a component in lualine_x ot right section
local function ins_right(component)
table.insert(config.sections.lualine_x, component)
end
local mode_color = {
n = colors.red,
i = colors.green,
v = colors.blue,
[''] = colors.blue,
v = colors.blue,
c = colors.magenta,
no = colors.red,
s = colors.orange,
s = colors.orange,
[''] = colors.orange,
ic = colors.yellow,
r = colors.violet,
rv = colors.violet,
cv = colors.red,
ce = colors.red,
r = colors.cyan,
rm = colors.cyan,
['r?'] = colors.cyan,
['!'] = colors.red,
t = colors.red
}
ins_left {
-- mode component
function()
-- auto change color according to neovims mode
vim.api.nvim_command(
'hi! lualinemode guifg=' .. mode_color[vim.fn.mode()] .. " guibg=" .. colors.bg)
return ''
end,
color = "lualinemode",
left_padding = 0
}
ins_left {
"mode",
color = {fg = colors.green, gui = 'bold'}
}
ins_left {
-- filesize component
function()
local function format_file_size(file)
local size = vim.fn.getfsize(file)
if size <= 0 then return '' end
local sufixes = {'b', 'k', 'm', 'g'}
local i = 1
while size > 1024 do
size = size / 1024
i = i + 1
end
return string.format('%.1f%s', size, sufixes[i])
end
local file = vim.fn.expand('%:p')
if string.len(file) == 0 then return '' end
return format_file_size(file)
end,
condition = conditions.buffer_not_empty
}
ins_left {
-- Lsp server name .
function()
local msg = 'No Active Lsp'
local buf_ft = vim.api.nvim_buf_get_option(0, 'filetype')
local clients = vim.lsp.get_active_clients()
if next(clients) == nil then return msg end
for _, client in ipairs(clients) do
local filetypes = client.config.filetypes
if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
return client.name
end
end
return msg
end,
icon = ' LSP:',
color = {fg = '#ffffff', gui = 'bold'}
}
ins_left {
'diagnostics',
sources = {'nvim_diagnostic'},
symbols = {error = '', warn = '', info = ''},
color_error = colors.red,
color_warn = colors.yellow,
color_info = colors.cyan
}
-- Insert mid section. You can make any number of sections in neovim :)
-- for lualine it's any number greater then 2
ins_left {function() return '%=' end}
ins_left {
'filename',
file_status = true,
path = 1,
condition = conditions.buffer_not_empty,
color = {fg = colors.magenta, gui = 'bold'}
}
-- Add components to right sections
ins_right {
'o:encoding', -- option component same as &encoding in viml
upper = true, -- I'm not sure why it's upper case either ;)
condition = conditions.hide_in_width,
color = {fg = colors.green, gui = 'bold'}
}
ins_right {
'fileformat',
upper = true,
icons_enabled = false, -- I think icons are cool but Eviline doesn't have them. sigh
color = {fg = colors.green, gui = 'bold'}
}
ins_right {
'branch',
icon = '',
condition = conditions.check_git_workspace,
color = {fg = colors.violet, gui = 'bold'}
}
ins_right {
'diff',
-- Is it me or the symbol for modified us really weird
symbols = {added = '', modified = '', removed = ''},
color_added = colors.green,
color_modified = colors.orange,
color_removed = colors.red,
condition = conditions.hide_in_width
}
ins_right {'location'}
ins_right {'progress', color = {fg = colors.fg, gui = 'bold'}}
-- Now don't forget to initialize lualine
lualine.setup(config)

Bestand weergeven

@@ -1 +0,0 @@
vim.g.notes_directories = {"~/Nextcloud/Notes/vim" }

Bestand weergeven

@@ -1,28 +0,0 @@
local null_ls_status_ok, null_ls = pcall(require, "null-ls")
if not null_ls_status_ok then
return
end
local mason_null_ls_status_ok, mason_null_ls = pcall(require, "mason-null-ls")
if not null_ls_status_ok then
return
end
require("mason-null-ls").setup({
})
-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting
local formatting = null_ls.builtins.formatting
-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
local diagnostics = null_ls.builtins.diagnostics
null_ls.setup {
debug = false,
sources = {
formatting.prettier.with { extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } },
formatting.black.with { extra_args = { "--fast" } },
diagnostics.flake8,
diagnostics.ansiblelint,
diagnostics.yamllint,
},
}

Bestand weergeven

@@ -1,14 +0,0 @@
local nvimtree_status_ok, nvimtree = pcall(require, "nvim-tree")
if not nvimtree_status_ok then
return
end
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
vim.opt.termguicolors = true
vim.keymap.set("n", "<leader>f", ":NvimTreeToggle<cr>", {silent = true, noremap = true})
nvimtree.setup({
})

Bestand weergeven

@@ -1,9 +0,0 @@
local status, oil = pcall(require, "oil")
if (not status) then
return
end
oil.setup()
local opts = { noremap=true, silent=false }
vim.keymap.set("n", "-", oil.open, { desc = "Open parent directory" }, opts)

Bestand weergeven

@@ -1,158 +0,0 @@
local status, telekasten = pcall(require, "telekasten")
if (not status) then return end
local home = vim.fn.expand("~/Nextcloud/Documents/zettelkasten")
telekasten.setup{
home = home,
-- if true, telekasten will be enabled when opening a note within the configured home
take_over_my_home = true,
-- auto-set telekasten filetype: if false, the telekasten filetype will not be used
-- and thus the telekasten syntax will not be loaded either
auto_set_filetype = true,
-- dir names for special notes (absolute path or subdir name)
dailies = home .. '/' .. 'daily',
weeklies = home .. '/' .. 'weekly',
templates = home .. '/' .. 'templates',
-- image (sub)dir for pasting
-- dir name (absolute path or subdir name)
-- or nil if pasted images shouldn't go into a special subdir
image_subdir = "img",
-- markdown file extension
extension = ".md",
-- following a link to a non-existing note will create it
follow_creates_nonexisting = true,
dailies_create_nonexisting = true,
weeklies_create_nonexisting = true,
-- template for new notes (new_note, follow_link)
-- set to `nil` or do not specify if you do not want a template
template_new_note = home .. '/' .. 'templates/new_note.md',
-- template for newly created daily notes (goto_today)
-- set to `nil` or do not specify if you do not want a template
template_new_daily = home .. '/' .. 'templates/daily.md',
-- template for newly created weekly notes (goto_thisweek)
-- set to `nil` or do not specify if you do not want a template
template_new_weekly= home .. '/' .. 'templates/weekly.md',
-- image link style
-- wiki: ![[image name]]
-- markdown: ![](image_subdir/xxxxx.png)
image_link_style = "markdown",
-- integrate with calendar-vim
plug_into_calendar = true,
calendar_opts = {
-- calendar week display mode: 1 .. 'WK01', 2 .. 'WK 1', 3 .. 'KW01', 4 .. 'KW 1', 5 .. '1'
weeknm = 4,
-- use monday as first day of week: 1 .. true, 0 .. false
calendar_monday = 1,
-- calendar mark: where to put mark for marked days: 'left', 'right', 'left-fit'
calendar_mark = 'left-fit',
},
-- telescope actions behavior
close_after_yanking = false,
insert_after_inserting = true,
-- tag notation: '#tag', ':tag:', 'yaml-bare'
tag_notation = "#tag",
-- command palette theme: dropdown (window) or ivy (bottom panel)
command_palette_theme = "ivy",
-- tag list theme:
-- get_cursor: small tag list at cursor; ivy and dropdown like above
show_tags_theme = "ivy",
-- when linking to a note in subdir/, create a [[subdir/title]] link
-- instead of a [[title only]] link
subdirs_in_links = true,
-- template_handling
-- What to do when creating a new note via `new_note()` or `follow_link()`
-- to a non-existing note
-- - prefer_new_note: use `new_note` template
-- - smart: if day or week is detected in title, use daily / weekly templates (default)
-- - always_ask: always ask before creating a note
template_handling = "smart",
-- path handling:
-- this applies to:
-- - new_note()
-- - new_templated_note()
-- - follow_link() to non-existing note
--
-- it does NOT apply to:
-- - goto_today()
-- - goto_thisweek()
--
-- Valid options:
-- - smart: put daily-looking notes in daily, weekly-looking ones in weekly,
-- all other ones in home, except for notes/with/subdirs/in/title.
-- (default)
--
-- - prefer_home: put all notes in home except for goto_today(), goto_thisweek()
-- except for notes with subdirs/in/title.
--
-- - same_as_current: put all new notes in the dir of the current note if
-- present or else in home
-- except for notes/with/subdirs/in/title.
new_note_location = "smart",
-- should all links be updated when a file is renamed
rename_update_links = true,
}
-- Mapping helper
local function map(mode, lhs, rhs, opts)
local options = { noremap = true }
if opts then
options = vim.tbl_extend("force", options, opts)
end
vim.api.nvim_set_keymap(mode, lhs, rhs, options)
end
-- On hesitation, bring up the command panel
map("n","<leader>z", ":lua require('telekasten').panel()<CR>")
-- Function mappings
map("n", "<leader>zf", ":lua require('telekasten').find_notes()<CR>")
map("n", "<leader>zd", ":lua require('telekasten').find_daily_notes()<CR>")
map("n", "<leader>zg", ":lua require('telekasten').search_notes()<CR>")
map("n", "<leader>zz", ":lua require('telekasten').follow_link()<CR>")
map("n", "<leader>zT", ":lua require('telekasten').goto_today()<CR>")
map("n", "<leader>zW", ":lua require('telekasten').goto_thisweek()<CR>")
map("n", "<leader>zw", ":lua require('telekasten').find_weekly_notes()<CR>")
map("n", "<leader>zn", ":lua require('telekasten').new_note()<CR>")
map("n", "<leader>zN", ":lua require('telekasten').new_templated_note()<CR>")
map("n", "<leader>zy", ":lua require('telekasten').yank_notelink()<CR>")
map("n", "<leader>zc", ":lua require('telekasten').show_calendar()<CR>")
map("n", "<leader>zC", ":CalendarT<CR>")
map("n", "<leader>zi", ":lua require('telekasten').paste_img_and_link()<CR>")
map("n", "<leader>zt", ":lua require('telekasten').toggle_todo()<CR>")
map("n", "<leader>zb", ":lua require('telekasten').show_backlinks()<CR>")
map("n", "<leader>zF", ":lua require('telekasten').find_friends()<CR>")
map("n", "<leader>zI", ":lua require('telekasten').insert_img_link({ i=true })<CR>")
map("n", "<leader>zp", ":lua require('telekasten').preview_img()<CR>")
map("n", "<leader>zm", ":lua require('telekasten').browse_media()<CR>")
map("n", "<leader>za", ":lua require('telekasten').show_tags()<CR>")
map("n", "<leader>#", ":lua require('telekasten').show_tags()<CR>")
map("n", "<leader>zr", ":lua require('telekasten').rename_note()<CR>")
-- we could define [[ in **insert mode** to call insert link
-- inoremap [[ <cmd>:lua require('telekasten').insert_link()<CR>
-- alternatively: leader [
map("i", "[[", "<cmd>:lua require('telekasten').insert_link({ i=true })<CR>")
map("i", "<leader>zt", "<cmd>:lua require('telekasten').toggle_todo({ i=true })<CR>")
map("i", "<leader>#", "<cmd>:lua require('telekasten').show_tags({i = true})<CR>")

Bestand weergeven

@@ -1,74 +0,0 @@
local status, telescope = pcall(require, "telescope")
if (not status) then return end
local builtin = require("telescope.builtin")
local previewers = require('telescope.previewers')
local Job = require('plenary.job')
local new_maker = function(filepath, bufnr, opts)
filepath = vim.fn.expand(filepath)
Job:new({
command = 'file',
args = { '--mime-type', '-b', filepath },
on_exit = function(j)
local mime_type = vim.split(j:result()[1], '/')[1]
if mime_type == "text" then
previewers.buffer_previewer_maker(filepath, bufnr, opts)
else
-- maybe we want to write something to the buffer here
vim.schedule(function()
vim.api.nvim_buf_set_lines(bufnr, 0, -1, false, { 'BINARY' })
end)
end
end
}):sync()
end
local function telescope_buffer_dir()
return vim.fn.expand('%:p:h')
end
telescope.setup {
defaults = {
buffer_previewer_maker = new_maker,
file_ignore_patterns = { "**/*.pdf" },
mappings = {
n = {
['<c-d>'] = require('telescope.actions').delete_buffer
}, -- n
i = {
['<c-d>'] = require('telescope.actions').delete_buffer
},
},
},
extensions = {
fzf = {
fuzzy = true, -- false will only do exact matching
override_generic_sorter = true, -- override the generic sorter
override_file_sorter = true, -- override the file sorter
case_mode = "smart_case", -- or "ignore_case" or "respect_case"
-- the default case_mode is "smart_case"
},
}
}
telescope.load_extension('fzf')
-- keymaps
vim.keymap.set('n', '<leader>e',
function()
builtin.find_files({
})
end)
vim.keymap.set('n', '<leader>g', function()
builtin.live_grep()
end)
vim.keymap.set('n', '<leader>b', function()
builtin.buffers()
end)
vim.keymap.set('n', '<leader>h', function()
builtin.resume()
end)
-- vim.keymap.set('n', '<leader>d', function()
-- builtin.diagnostics()
-- end)

Bestand weergeven

@@ -1,17 +0,0 @@
local status, ts = pcall(require, "nvim-treesitter.configs")
if (not status) then return end
ts.setup {
-- One of "all", "maintained" (parsers with maintainers), or a list of languages
ensure_installed = {"python", "css", "html", "lua", "javascript", "vue", "c", "markdown", "rst", "cpp"},
highlight = {
enable = true,
additional_vim_regex_highlighting = false,
},
indent = {
enable = true,
disable = { "python", },
}
}
-- vim.opt.foldmethod = "expr"
-- vim.opt.foldexpr = "nvim_treesitter#foldexpr()"

Bestand weergeven

@@ -1,6 +0,0 @@
vim.g.maplocalleader = " "
vim.g.vimtex_view_method = 'zathura'
-- Les fichiers sty et cls sont vus comme des fichiers tex
vim.cmd("autocmd BufRead,BufNewFile *.{sty,cls} setlocal syntax=tex")

Bestand weergeven

@@ -1,56 +0,0 @@
local zk_status_ok, zk = pcall(require, "zk")
if not zk_status_ok then
return
end
zk.setup({
picker = "telescope",
lsp = {
-- `config` is passed to `vim.lsp.start_client(config)`
config = {
cmd = { "zk", "lsp" },
name = "zk",
-- on_attach = ...
-- etc, see `:h vim.lsp.start_client()`
},
-- automatically attach buffers in a zk notebook that match the given filetypes
auto_attach = {
enabled = true,
filetypes = { "markdown" },
},
},
})
local opts = { noremap=true, silent=false }
-- Create a new note after asking for its title.
vim.api.nvim_set_keymap("n", "<leader>zl", "<Cmd>ZkNew { title = vim.fn.input('Title (litterature): '), dir = 'litterature'}<CR>", opts)
vim.api.nvim_set_keymap("n", "<leader>zs", "<Cmd>ZkNew { title = vim.fn.input('Title (slipbox): '), dir = 'slipbox'}<CR>", opts)
vim.api.nvim_set_keymap("v", "<leader>zs", ":'<,'>ZkNewFromTitleSelection { dir = 'slipbox'}<CR>", opts)
vim.api.nvim_set_keymap("n", "<leader>zi", "<Cmd>ZkNew { title = vim.fn.input('Title (inbox): '), dir = 'inbox'}<CR>", opts)
vim.api.nvim_set_keymap("v", "<leader>zi", ":'<,'>ZkNewFromTitleSelection { dir = 'inbox'}<CR>", opts)
vim.api.nvim_set_keymap("n", "<leader>zh", "<Cmd>ZkNew { title = vim.fn.input('Title (hubs): '), dir = 'hubs'}<CR>", opts)
-- Open notes.
vim.api.nvim_set_keymap("n", "<leader>zo", "<Cmd>ZkNotes { sort = { 'modified' } }<CR>", opts)
-- Open notes associated with the selected tags.
vim.api.nvim_set_keymap("n", "<leader>zt", "<Cmd>ZkTags<CR>", opts)
-- Search for the notes matching a given query.
vim.api.nvim_set_keymap("n", "<leader>zf", "<Cmd>ZkNotes { sort = { 'modified' }, match = vim.fn.input('Search: ') }<CR>", opts)
-- Search for the notes matching the current visual selection.
vim.api.nvim_set_keymap("v", "<leader>zf", ":'<,'>ZkMatch<CR>", opts)
-- Open notes linking to the current buffer.
-- vim.api.nvim_set_keymap("n", "<leader>zb", "<Cmd>ZkBacklinks<CR>", opts)
-- Alternative for backlinks using pure LSP and showing the source context.
vim.api.nvim_set_keymap('n', '<leader>zb', '<Cmd>lua vim.lsp.buf.references()<CR>', opts)
-- Open notes linked by the current buffer.
vim.api.nvim_set_keymap("n", "<leader>zL", "<Cmd>ZkLinks<CR>", opts)
-- Preview a linked note.
vim.api.nvim_set_keymap("n", "K", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts)
-- Open the code actions for a visual selection.
vim.api.nvim_set_keymap("v", "<leader>za", ":'<,'>lua vim.lsp.buf.code_action()<CR>", opts)

Bestand weergeven

@@ -1,77 +0,0 @@
require("mason").setup()
require("mason-lspconfig").setup()
local nvim_lsp = require('lspconfig')
-- Use an on_attach function to only map the following keys
-- after the language server attaches to the current buffer
local on_attach = function(client, bufnr)
local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
--Enable completion triggered by <c-x><c-o>
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
-- Mappings.
local opts = { noremap=true, silent=true }
-- See `:help vim.lsp.*` for documentation on any of the below functions
-- See references
buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
-- show documentation
buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts)
-- Rename
buf_set_keymap('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
-- proposions from lsp
buf_set_keymap('n', '<leader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
-- Details on diagnostics
buf_set_keymap('n', '<leader>d', '<cmd>lua vim.diagnostic.open_float()<CR>', opts)
-- Cycle over diagnostics
buf_set_keymap('n', '<leader>df', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts)
buf_set_keymap('n', '<leader>dp', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts)
-- Get diagnostic on local list
buf_set_keymap('n', '<leader>q', '<cmd>lua vim.diagnostic.setloclist()<CR>', opts)
buf_set_keymap("n", "<leader>F", "<cmd>lua vim.lsp.buf.format()<CR>", opts)
buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts)
buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts)
buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
buf_set_keymap('n', '<leader>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
end
-- Use a loop to conveniently call 'setup' on multiple servers and
-- map buffer local keybindings when the language server attaches
local servers = {
"texlab",
"pyright",
"vuels",
"tsserver",
"html",
"lua_ls",
"ansiblels",
"arduino_language_server",
"clangd",
}
for _, lsp in ipairs(servers) do
nvim_lsp[lsp].setup {
on_attach = on_attach,
flags = {
debounce_text_changes = 150,
},
}
end
nvim_lsp.vuels.setup{
on_attach = function(client)
client.resolved_capabilities.document_formatting = true
end;
}
nvim_lsp.ltex.setup{
cmd = { "ltex-ls" },
settings = {
ltex = {
language = "fr",
}
}
}

Bestand weergeven

@@ -1,17 +1,10 @@
local map = vim.api.nvim_set_keymap
local default_opts = {noremap = true, silent = true}
-- move around splits using Ctrl + {h,j,k,l}
map('n', '<C-h>', '<C-w>h', default_opts)
map('n', '<C-j>', '<C-w>j', default_opts)
map('n', '<C-k>', '<C-w>k', default_opts)
map('n', '<C-l>', '<C-w>l', default_opts)
-- Align blocks of text and keep them selected
map('v', '<', '<gv', {})
map('v', '>', '>gv', {})
-- Automatically spell check last error in insert mode
map('i', '<c-f>', '<c-g>u<Esc>[s1z=`]a<c-g>u', default_opts)

Bestand weergeven

@@ -1,233 +0,0 @@
local fn = vim.fn
-- Automatically install packer
local install_path = fn.stdpath "data" .. "/site/pack/packer/start/packer.nvim"
if fn.empty(fn.glob(install_path)) > 0 then
PACKER_BOOTSTRAP = fn.system {
"git",
"clone",
"--depth",
"1",
"https://github.com/wbthomason/packer.nvim",
install_path,
}
print "Installing packer close and reopen Neovim..."
vim.cmd [[packadd packer.nvim]]
end
-- Autocommand that reloads neovim whenever you save the plugins.lua file
vim.cmd [[
augroup packer_user_config
autocmd!
autocmd BufWritePost plugins.lua source <afile> | PackerSync
augroup end
]]
-- Use a protected call so we don't error out on first use
local status_ok, packer = pcall(require, "packer")
if not status_ok then
return
end
-- Have packer use a popup window
packer.init {
display = {
open_fn = function()
return require("packer.util").float { border = "rounded" }
end,
},
}
return packer.startup(function(use)
-- Packer can manage itself
use 'wbthomason/packer.nvim'
use 'morhetz/gruvbox'
-- Status line
use {
'hoob3rt/lualine.nvim',
config = [[require('config.lualine')]],
}
use 'tpope/vim-fugitive'
-- use 'mhinz/vim-signify'
use {
'lewis6991/gitsigns.nvim',
config = [[require('config.gitsigns')]],
}
use 'tpope/vim-surround'
use 'tpope/vim-repeat'
use 'tpope/vim-abolish'
use {
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
'neovim/nvim-lspconfig',
requires = {
"hrsh7th/cmp-nvim-lsp",
}
}
use {
'hrsh7th/nvim-cmp',
event = 'InsertEnter',
config = [[require('completion')]],
requires = {
'hrsh7th/vim-vsnip',
'hrsh7th/vim-vsnip-integ',
-- 'rafamadriz/friendly-snippets',
},
}
use { 'hrsh7th/cmp-vsnip', after = 'nvim-cmp' }
use { 'hrsh7th/cmp-buffer', after = 'nvim-cmp' }
use { 'hrsh7th/cmp-path', after = 'nvim-cmp' }
use { 'hrsh7th/cmp-nvim-lsp', after = 'nvim-cmp' }
use { 'hrsh7th/cmp-cmdline', after = 'nvim-cmp' }
-- use {'f3fora/cmp-spell', after = 'nvim-cmp'}
-- for formatters and linters
use {
"jose-elias-alvarez/null-ls.nvim",
config = [[require('config.null-ls')]],
requires = {
"jayp0521/mason-null-ls.nvim"
}
}
use 'nvim-lua/popup.nvim'
use {
'nvim-telescope/telescope.nvim',
config = [[require('config.telescope')]],
requires = { 'nvim-lua/plenary.nvim' }
}
use { 'nvim-telescope/telescope-fzf-native.nvim', run = 'make' }
use {
"nvim-telescope/telescope-file-browser.nvim"
}
use {
'nvim-tree/nvim-tree.lua',
requires = {
'nvim-tree/nvim-web-devicons', -- optional
},
config = [[require('config.nvimtree')]],
}
use {
'lervag/vimtex',
config = [[require('config.vimtex')]],
}
-- Highlight on Yank
use 'machakann/vim-highlightedyank'
-- Autoclose parenthesis
-- use 'jiangmiao/auto-pairs'
use {
'windwp/nvim-autopairs',
config = [[ require('config.autopairs') ]]
}
use 'kyazdani42/nvim-web-devicons'
use 'christoomey/vim-tmux-navigator'
use {
'nvim-treesitter/nvim-treesitter',
config = [[require('config.treesitter')]],
run = ':TSUpdate',
}
use {
'norcalli/nvim-colorizer.lua',
config = [[require('config.colorizer')]],
}
use {
"mickael-menu/zk-nvim",
config = [[require('config.zk')]]
}
-- use {
-- 'renerocksai/telekasten.nvim',
-- requires = {
-- 'nvim-telescope/telescope.nvim',
-- 'nvim-lua/plenary.nvim',
-- 'renerocksai/calendar-vim'
-- },
-- config = [[require('config.telekasten')]]
-- }
use {
"folke/which-key.nvim",
config = function()
vim.o.timeout = true
vim.o.timeoutlen = 300
require("which-key").setup {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
}
end
}
use({
"folke/noice.nvim",
config = function()
require("noice").setup({
-- add any options here
throttle = 1000,
lsp = {
progress = {
enabled = true,
-- Lsp Progress is formatted using the builtins for lsp_progress. See config.format.builtin
-- See the section on formatting for more details on how to customize.
--- @type NoiceFormat|string
format = "lsp_progress",
--- @type NoiceFormat|string
format_done = "lsp_progress_done",
throttle = 1000, -- frequency to update lsp progress message
view = "mini",
},
}
})
end,
requires = {
-- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
"MunifTanjim/nui.nvim",
-- OPTIONAL:
-- `nvim-notify` is only needed, if you want to use the notification view.
-- If not available, we use `mini` as the fallback
"rcarriga/nvim-notify",
}
})
use {
'echasnovski/mini.indentscope',
config = function ()
require('mini.indentscope').setup()
end
}
use {
"lukas-reineke/indent-blankline.nvim",
config = [[require('config.indentblankline')]]
}
use {
'stevearc/oil.nvim',
config = [[require('config.oil')]]
}
use {
'numToStr/Comment.nvim',
config = function()
require('Comment').setup()
end
}
if PACKER_BOOTSTRAP then
require("packer").sync()
end
end)

Bestand weergeven

@@ -0,0 +1,7 @@
return {
'windwp/nvim-autopairs',
event = "InsertEnter",
opts = {
disable_filetype = { "TelescopePrompt" , "vim" },
} -- this is equalent to setup({}) function
}

Bestand weergeven

@@ -0,0 +1,14 @@
return {
'norcalli/nvim-colorizer.lua',
config = function ()
vim.opt.termguicolors = true
require('colorizer').setup {
'css';
'javascript';
html = {
mode = 'foreground';
}
}
end
}

Bestand weergeven

@@ -0,0 +1,9 @@
return {
"morhetz/gruvbox",
lazy = false, -- make sure we load this during startup if it is your main colorscheme
priority = 1000, -- make sure to load this before all the other start plugins
config = function()
-- load the colorscheme here
vim.cmd([[colorscheme gruvbox]])
end
}

Bestand weergeven

@@ -0,0 +1,6 @@
return {
'numToStr/Comment.nvim',
config=function ()
require('Comment').setup()
end
}

Bestand weergeven

@@ -0,0 +1,69 @@
return {
'hrsh7th/nvim-cmp',
dependencies = {
'neovim/nvim-lspconfig',
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-buffer',
'hrsh7th/cmp-path',
'hrsh7th/cmp-cmdline',
'hrsh7th/cmp-vsnip',
'hrsh7th/vim-vsnip',
},
config = function ()
local cmp = require'cmp'
cmp.setup({
snippet = {
expand = function(args)
vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
end,
},
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'vsnip' }, -- For vsnip users.
{ name = 'path' },
{
name = 'buffer',
option = {
keyword_length = 3,
get_bufnrs = function()
return vim.api.nvim_list_bufs()
end
}
},
}, {
{ name = 'buffer' },
})
})
-- Set configuration for specific filetype.
cmp.setup.filetype('gitcommit', {
sources = cmp.config.sources({
{ name = 'git' }, -- You can specify the `git` source if [you were installed it](https://github.com/petertriho/cmp-git).
}, {
{ name = 'buffer' },
})
})
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline({ '/', '?' }, {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = 'buffer' }
}
})
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = 'path' }
}, {
{ name = 'cmdline' }
})
})
end
}

Bestand weergeven

@@ -0,0 +1,37 @@
return {
"stevearc/conform.nvim",
event = { "BufReadPre", "BufNewFile" },
config = function()
local conform = require("conform")
conform.setup({
formatters_by_ft = {
javascript = { "prettier" },
typescript = { "prettier" },
javascriptreact = { "prettier" },
typescriptreact = { "prettier" },
svelte = { "prettier" },
css = { "prettier" },
html = { "prettier" },
json = { "prettier" },
yaml = { "prettier" },
markdown = { "prettier" },
graphql = { "prettier" },
lua = { "stylua" },
python = { "isort", "black" },
},
format_on_save = {
lsp_fallback = true,
async = false,
timeout_ms = 500,
},
})
vim.keymap.set({ "n", "v" }, "<leader>mp", function()
conform.format({
lsp_fallback = true,
async = true,
timeout_ms = 500,
})
end, { desc = "Format file or range (in visual mode)" })
end,
}

Bestand weergeven

@@ -0,0 +1,11 @@
return {
{
'tpope/vim-fugitive'
},
{
'lewis6991/gitsigns.nvim',
config=function ()
require('gitsigns').setup {}
end
}
}

Bestand weergeven

@@ -0,0 +1,31 @@
return {
"mfussenegger/nvim-lint",
event = {
"BufReadPre",
"BufNewFile",
},
config = function()
local lint = require("lint")
lint.linters_by_ft = {
javascript = { "eslint_d" },
typescript = { "eslint_d" },
javascriptreact = { "eslint_d" },
typescriptreact = { "eslint_d" },
python = { "flake8" },
}
local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true })
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
group = lint_augroup,
callback = function()
lint.try_lint()
end,
})
vim.keymap.set("n", "<leader>ml", function()
lint.try_lint()
end, { desc = "Trigger linting for current file" })
end,
}

Bestand weergeven

@@ -0,0 +1,38 @@
return {
"VonHeikemen/lsp-zero.nvim",
branch = "v3.x",
dependencies = {
{ "neovim/nvim-lspconfig" },
{ "williamboman/mason.nvim" },
{ "williamboman/mason-lspconfig.nvim" },
{ "WhoIsSethDaniel/mason-tool-installer.nvim" },
},
config = function()
local lsp_zero = require("lsp-zero")
lsp_zero.on_attach(function(client, bufnr)
-- see :help lsp-zero-keybindings
-- to learn the available actions
lsp_zero.default_keymaps({ buffer = bufnr })
end)
require("mason").setup({})
require("mason-lspconfig").setup({
ensure_installed = {},
handlers = {
lsp_zero.default_setup,
},
})
local mason_tool_installer = require("mason-tool-installer")
mason_tool_installer.setup({
ensure_installed = {
"prettier", -- prettier formatter
"stylua", -- lua formatter
"isort", -- python formatter
"black", -- python formatter
"flake8", -- python linter
"eslint_d", -- js linter
},
})
end,
}

Bestand weergeven

@@ -0,0 +1,222 @@
return {
"nvim-lualine/lualine.nvim",
dependencies = {
"folke/noice.nvim",
'nvim-tree/nvim-web-devicons',
},
config = function ()
local colors = {
bg = '#202328',
fg = '#bbc2cf',
yellow = '#ECBE7B',
cyan = '#008080',
darkblue = '#081633',
green = '#98be65',
orange = '#FF8800',
violet = '#a9a1e1',
magenta = '#c678dd',
blue = '#51afef',
red = '#ec5f67'
}
local conditions = {
buffer_not_empty = function() return vim.fn.empty(vim.fn.expand('%:t')) ~= 1 end,
hide_in_width = function() return vim.fn.winwidth(0) > 80 end,
check_git_workspace = function()
local filepath = vim.fn.expand('%:p:h')
local gitdir = vim.fn.finddir('.git', filepath .. ';')
return gitdir and #gitdir > 0 and #gitdir < #filepath
end
}
-- Config
local config = {
options = {
-- Disable sections and component separators
component_separators = "",
section_separators = "",
-- theme = 'gruvbox',
theme = {
-- We are going to use lualine_c an lualine_x as left and
-- right section. both are highlighted by c theme . so we
-- are just setting default looks o statusline
normal = {c = {fg = colors.fg, bg = colors.bg}},
inactive = {c = {fg = colors.fg, bg = colors.bg}}
}
},
sections = {
-- these are to remove the defaults
lualine_a = {},
lualine_b = {},
lualine_y = {},
lualine_z = {},
-- these will be filled later
lualine_c = {},
lualine_x = {
{
require("noice").api.statusline.mode.get,
cond = require("noice").api.statusline.mode.has,
color = { fg = "#ff9e64" },
}
}
},
inactive_sections = {
-- these are to remove the defaults
lualine_a = {},
lualine_v = {},
lualine_y = {},
lualine_z = {},
lualine_c = {},
lualine_x = {}
}
}
-- inserts a component in lualine_c at left section
local function ins_left(component)
table.insert(config.sections.lualine_c, component)
end
-- inserts a component in lualine_x ot right section
local function ins_right(component)
table.insert(config.sections.lualine_x, component)
end
local mode_color = {
n = colors.red,
i = colors.green,
v = colors.blue,
[''] = colors.blue,
v = colors.blue,
c = colors.magenta,
no = colors.red,
s = colors.orange,
s = colors.orange,
[''] = colors.orange,
ic = colors.yellow,
r = colors.violet,
rv = colors.violet,
cv = colors.red,
ce = colors.red,
r = colors.cyan,
rm = colors.cyan,
['r?'] = colors.cyan,
['!'] = colors.red,
t = colors.red
}
ins_left {
-- mode component
function()
-- auto change color according to neovims mode
vim.api.nvim_command(
'hi! lualinemode guifg=' .. mode_color[vim.fn.mode()] .. " guibg=" .. colors.bg)
return ''
end,
color = "lualinemode",
left_padding = 0
}
ins_left {
"mode",
color = {fg = colors.green, gui = 'bold'}
}
ins_left {
-- filesize component
function()
local function format_file_size(file)
local size = vim.fn.getfsize(file)
if size <= 0 then return '' end
local sufixes = {'b', 'k', 'm', 'g'}
local i = 1
while size > 1024 do
size = size / 1024
i = i + 1
end
return string.format('%.1f%s', size, sufixes[i])
end
local file = vim.fn.expand('%:p')
if string.len(file) == 0 then return '' end
return format_file_size(file)
end,
condition = conditions.buffer_not_empty
}
ins_left {
-- Lsp server name .
function()
local msg = 'No Active Lsp'
local buf_ft = vim.api.nvim_buf_get_option(0, 'filetype')
local clients = vim.lsp.get_active_clients()
if next(clients) == nil then return msg end
for _, client in ipairs(clients) do
local filetypes = client.config.filetypes
if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
return client.name
end
end
return msg
end,
icon = ' LSP:',
color = {fg = '#ffffff', gui = 'bold'}
}
ins_left {
'diagnostics',
sources = {'nvim_diagnostic'},
symbols = {error = '', warn = '', info = ''},
color_error = colors.red,
color_warn = colors.yellow,
color_info = colors.cyan
}
-- Insert mid section. You can make any number of sections in neovim :)
-- for lualine it's any number greater then 2
ins_left {function() return '%=' end}
ins_left {
'filename',
file_status = true,
path = 1,
condition = conditions.buffer_not_empty,
color = {fg = colors.magenta, gui = 'bold'}
}
-- Add components to right sections
ins_right {
'o:encoding', -- option component same as &encoding in viml
upper = true, -- I'm not sure why it's upper case either ;)
condition = conditions.hide_in_width,
color = {fg = colors.green, gui = 'bold'}
}
ins_right {
'fileformat',
upper = true,
icons_enabled = false, -- I think icons are cool but Eviline doesn't have them. sigh
color = {fg = colors.green, gui = 'bold'}
}
ins_right {
'branch',
icon = '',
condition = conditions.check_git_workspace,
color = {fg = colors.violet, gui = 'bold'}
}
ins_right {
'diff',
-- Is it me or the symbol for modified us really weird
symbols = {added = '', modified = '', removed = ''},
color_added = colors.green,
color_modified = colors.orange,
color_removed = colors.red,
condition = conditions.hide_in_width
}
ins_right {'location'}
ins_right {'progress', color = {fg = colors.fg, gui = 'bold'}}
require('lualine').setup(config)
end
}

Bestand weergeven

@@ -0,0 +1,6 @@
return {
'tpope/vim-surround',
'tpope/vim-repeat',
'tpope/vim-abolish',
'machakann/vim-highlightedyank'
}

Bestand weergeven

@@ -0,0 +1,29 @@
return {
"folke/noice.nvim",
event = "VeryLazy",
opts = {},
dependencies = {
"MunifTanjim/nui.nvim",
-- "rcarriga/nvim-notify",
},
config = function()
require("noice").setup({
lsp = {
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
override = {
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
["vim.lsp.util.stylize_markdown"] = true,
["cmp.entry.get_documentation"] = true, -- requires hrsh7th/nvim-cmp
},
},
-- you can enable a preset for easier configuration
presets = {
bottom_search = true, -- use a classic bottom cmdline for search
command_palette = true, -- position the cmdline and popupmenu together
long_message_to_split = true, -- long messages will be sent to a split
inc_rename = false, -- enables an input dialog for inc-rename.nvim
lsp_doc_border = false, -- add a border to hover docs and signature help
},
})
end,
}

Bestand weergeven

@@ -0,0 +1,10 @@
return {
'stevearc/oil.nvim',
dependencies = { "nvim-tree/nvim-web-devicons" },
keys = {
{"-", "<cmd>Oil<cr>", desc="Open parent directory"},
},
config = function()
require("oil").setup()
end
}

Bestand weergeven

@@ -0,0 +1,71 @@
return {
"folke/snacks.nvim",
priority = 1000,
lazy = false,
---@type snacks.Config
opts = {
indent = {
enabled = true,
char = "|",
},
input = {
enabled = true,
},
notifier = {
enabled = true,
},
git = {
enabled = true,
},
bigfile = { enabled = true },
dashboard = { enabled = true },
quickfile = { enabled = true },
scroll = { enabled = true },
statuscolumn = { enabled = true },
words = { enabled = false },
},
keys = {
{
"<leader>ns",
function()
Snacks.notifier.show_history()
end,
desc = "Notification History",
},
{
"<leader>nh",
function()
Snacks.notifier.hide()
end,
desc = "Dismiss All Notifications",
},
{
"<leader>gb",
function()
Snacks.git.blame_line()
end,
desc = "Git Blame Line",
},
{
"<leader>gf",
function()
Snacks.lazygit.log_file()
end,
desc = "Lazygit Current File History",
},
{
"<leader>gg",
function()
Snacks.lazygit()
end,
desc = "Lazygit",
},
{
"<leader>gl",
function()
Snacks.lazygit.log()
end,
desc = "Lazygit Log (cwd)",
},
},
}

Bestand weergeven

@@ -0,0 +1,27 @@
return {
'nvim-telescope/telescope.nvim', branch = '0.1.x',
dependencies = { 'nvim-lua/plenary.nvim' },
opts = {
defaults = {
file_ignore_patterns = { "**/*.pdf" },
layout_strategy = "horizontal",
layout_config = { prompt_position = "top" },
sorting_strategy = "ascending",
winblend = 0,
},
},
keys = {
{"<leader>ff", "<cmd>Telescope find_files<cr>", desc = "Find files"},
{"<leader>fe", "<cmd>Telescope git_files<cr>", desc = "Find file respecting .gitignore"},
{"<leader>fg", "<cmd>Telescope live_grep<cr>", desc = "Grep file in file"},
{"<leader>fb", "<cmd>Telescope buffers<cr>", desc = "Search through buffers"},
{"<leader>ft", "<cmd>Telescope tags<cr>", desc = "Search through tags"},
{"<leader>fm", "<cmd>Telescope marks<cr>", desc = "Search through marks"},
{"<leader>fs", "<cmd>Telescope search_history<cr>", desc = "Search through search"},
},
config = function()
require('telescope').setup(
)
end
}

Bestand weergeven

@@ -0,0 +1,44 @@
return {
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
config = function()
local configs = require("nvim-treesitter.configs")
configs.setup({
ensure_installed = {
"lua",
"vim",
"vimdoc",
"javascript",
"html",
"python",
"dockerfile",
"latex",
"yaml",
"regex",
"bash",
"markdown",
"markdown_inline",
},
sync_install = false,
highlight = { enable = true },
indent = { enable = true },
})
end,
opts = function(_, opts)
vim.treesitter.language.register("markdown", "mdx")
-- vim.list_extend(opts.highlight.disable, { "tsx" })
if type(opts.ensure_installed) == "table" then
vim.list_extend(opts.ensure_installed, {
"bibtex",
"latex",
-- you can add more here
})
end
if type(opts.highlight.disable) == "table" then
vim.list_extend(opts.highlight.disable, { "latex", "bibtex" })
else
opts.highlight.disable = { "latex", "bibtex" }
end
end,
}

Bestand weergeven

@@ -0,0 +1,3 @@
return {
'christoomey/vim-tmux-navigator',
}

Bestand weergeven

@@ -0,0 +1,27 @@
return {
{
"lervag/vimtex",
lazy = false, -- lazy-loading will disable inverse search
config = function()
vim.api.nvim_create_autocmd({ "FileType" }, {
group = vim.api.nvim_create_augroup("lazyvim_vimtex_conceal", { clear = true }),
pattern = { "bib", "tex" },
callback = function()
vim.wo.conceallevel = 0
end,
})
vim.g.vimtex_mappings_disable = { ["n"] = { "K" } } -- disable `K` as it conflicts with LSP hover
vim.g.vimtex_quickfix_method = vim.fn.executable("pplatex") == 1 and "pplatex" or "latexlog"
vim.g.vimtex_view_method = "zathura" -- <== macos specific, you can use zathura or sumatra or something else.
vim.g.vimtex_view_skim_sync = 1
vim.g.vimtex_view_skim_activate = 1
vim.g.vimtex_view_skim_reading_bar = 1
vim.g.vimtex_compiler_latexmk = {
aux_dir = "./aux",
out_dir = "./out",
}
end,
},
}

Bestand weergeven

@@ -0,0 +1,13 @@
return {
"folke/which-key.nvim",
event = "VeryLazy",
init = function()
vim.o.timeout = true
vim.o.timeoutlen = 300
end,
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
}
}

Bestand weergeven

@@ -4,7 +4,6 @@ local exec = vim.api.nvim_exec -- execute Vimscript
local g = vim.g -- global variables
local opt = vim.opt -- global/buffer/windows-scoped options
g.mapleader = ' ' -- Leaderkey
g.showmode = true
g.hidden = true -- Required to keep multiple buffers open multiple buffers
opt.mouse = 'a' -- enable mouse
@@ -35,8 +34,6 @@ opt.nrformats = opt.nrformats + 'alpha'
g.showtabline = true
opt.iskeyword="_"
-- don't auto commenting new lines
cmd[[au BufEnter * set fo-=c fo-=r fo-=o]]
@@ -50,8 +47,6 @@ exec([[
augroup end
]], false)
cmd('colorscheme gruvbox')
-- Python 3
g.python3_host_prog="~/.venv/nvim/bin/python"

Bestand weergeven

@@ -1,18 +0,0 @@
{
"Date": {
"prefix": "date",
"body": [
"$CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE"
]
},
"Lorem Ipsum Sentence": {
"prefix": "loremSent",
"body": "Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint consectetur cupidatat.",
"description": "Lorem Ipsum Sentence"
},
"Lorem Ipsum Paragraph": {
"prefix": "loremPara",
"body": "Lorem ipsum dolor sit amet, officia excepteur ex fugiat reprehenderit enim labore culpa sint ad nisi Lorem pariatur mollit ex esse exercitation amet. Nisi anim cupidatat excepteur officia. Reprehenderit nostrud nostrud ipsum Lorem est aliquip amet voluptate voluptate dolor minim nulla est proident. Nostrud officia pariatur ut officia. Sit irure elit esse ea nulla sunt ex occaecat reprehenderit commodo officia dolor Lorem duis laboris cupidatat officia voluptate. Culpa proident adipisicing id nulla nisi laboris ex in Lorem sunt duis officia eiusmod. Aliqua reprehenderit commodo ex non excepteur duis sunt velit enim. Voluptate laboris sint cupidatat ullamco ut ea consectetur et est culpa et culpa duis.",
"description": "Lorem Ipsum Paragraph"
}
}

Bestand weergeven

@@ -1,850 +0,0 @@
{
"doctype": {
"prefix": "doctype",
"body": [
"<!DOCTYPE>",
"$1"
],
"description": "HTML - Defines the document type",
"scope": "text.html"
},
"a": {
"prefix": "a",
"body": "<a href=\"$1\">$2</a>$3",
"description": "HTML - Defines a hyperlink",
"scope": "text.html"
},
"abbr": {
"prefix": "abbr",
"body": "<abbr title=\"$1\">$2</abbr>$3",
"description": "HTML - Defines an abbreviation",
"scope": "text.html"
},
"address": {
"prefix": "address",
"body": [
"<address>",
"$1",
"</address>"
],
"description": "HTML - Defines an address element",
"scope": "text.html"
},
"area": {
"prefix": "area",
"body": "<area shape=\"$1\" coords=\"$2\" href=\"$3\" alt=\"$4\">$5",
"description": "HTML - Defines an area inside an image map",
"scope": "text.html"
},
"article": {
"prefix": "article",
"body": [
"<article>",
"\t$1",
"</article>"
],
"description": "HTML - Defines an article",
"scope": "text.html"
},
"aside": {
"prefix": "aside",
"body": [
"<aside>",
"\t$1",
"</aside>$2"
],
"description": "HTML - Defines content aside from the page content",
"scope": "text.html"
},
"audio": {
"prefix": "audio",
"body": [
"<audio controls>",
"\t$1",
"</audio>"
],
"description": "HTML - Defines sounds content",
"scope": "text.html"
},
"b": {
"prefix": "b",
"body": "<b>$1</b>$2",
"description": "HTML - Defines bold text",
"scope": "text.html"
},
"base": {
"prefix": "base",
"body": "<base href=\"$1\" target=\"$2\">$3",
"description": "HTML - Defines a base URL for all the links in a page",
"scope": "text.html"
},
"bdi": {
"prefix": "bdi",
"body": "<bdi>$1</bdi>$2",
"description": "HTML - Used to isolate text that is of unknown directionality",
"scope": "text.html"
},
"bdo": {
"prefix": "bdo",
"body": [
"<bdo dir=\"$1\">",
"$2",
"</bdo>"
],
"description": "HTML - Defines the direction of text display",
"scope": "text.html"
},
"big": {
"prefix": "big",
"body": "<big>$1</big>$2",
"description": "HTML - Used to make text bigger",
"scope": "text.html"
},
"blockquote": {
"prefix": "blockquote",
"body": [
"<blockquote cite=\"$2\">",
"\t$1",
"</blockquote>"
],
"description": "HTML - Defines a long quotation",
"scope": "text.html"
},
"body": {
"prefix": "body",
"body": [
"<body>",
"\t$1",
"</body>"
],
"description": "HTML - Defines the body element",
"scope": "text.html"
},
"br": {
"prefix": "br",
"body": "<br>",
"description": "HTML - Inserts a single line break",
"scope": "text.html"
},
"button": {
"prefix": "button",
"body": "<button type=\"$1\">$2</button>$3",
"description": "HTML - Defines a push button",
"scope": "text.html"
},
"canvas": {
"prefix": "canvas",
"body": "<canvas id=\"$1\">$2</canvas>$3",
"description": "HTML - Defines graphics",
"scope": "text.html"
},
"caption": {
"prefix": "caption",
"body": "<caption>$1</caption>$2",
"description": "HTML - Defines a table caption",
"scope": "text.html"
},
"cite": {
"prefix": "cite",
"body": "<cite>$1</cite>$2",
"description": "HTML - Defines a citation",
"scope": "text.html"
},
"code": {
"prefix": "code",
"body": "<code>$1</code>$2",
"description": "HTML - Defines computer code text",
"scope": "text.html"
},
"col": {
"prefix": "col",
"body": "<col>$2",
"description": "HTML - Defines attributes for table columns",
"scope": "text.html"
},
"colgroup": {
"prefix": "colgroup",
"body": [
"<colgroup>",
"\t$1",
"</colgroup>"
],
"description": "HTML - Defines group of table columns",
"scope": "text.html"
},
"command": {
"prefix": "command",
"body": "<command>$1</command>$2",
"description": "HTML - Defines a command button [not supported]",
"scope": "text.html"
},
"datalist": {
"prefix": "datalist",
"body": [
"<datalist>",
"\t$1",
"</datalist>"
],
"description": "HTML - Defines a dropdown list",
"scope": "text.html"
},
"dd": {
"prefix": "dd",
"body": "<dd>$1</dd>$2",
"description": "HTML - Defines a definition description",
"scope": "text.html"
},
"del": {
"prefix": "del",
"body": "<del>$1</del>$2",
"description": "HTML - Defines deleted text",
"scope": "text.html"
},
"details": {
"prefix": "details",
"body": [
"<details>",
"\t$1",
"</details>"
],
"description": "HTML - Defines details of an element",
"scope": "text.html"
},
"dialog": {
"prefix": "dialog",
"body": "<dialog>$1</dialog>$2",
"description": "HTML - Defines a dialog (conversation)",
"scope": "text.html"
},
"dfn": {
"prefix": "dfn",
"body": "<dfn>$1</dfn>$2",
"description": "HTML - Defines a definition term",
"scope": "text.html"
},
"div": {
"prefix": "div",
"body": [
"<div>",
"\t$1",
"</div>"
],
"description": "HTML - Defines a section in a document",
"scope": "text.html"
},
"dl": {
"prefix": "dl",
"body": [
"<dl>",
"\t$1",
"</dl>"
],
"description": "HTML - Defines a definition list",
"scope": "text.html"
},
"dt": {
"prefix": "dt",
"body": "<dt>$1</dt>$2",
"description": "HTML - Defines a definition term",
"scope": "text.html"
},
"em": {
"prefix": "em",
"body": "<em>$1</em>$2",
"description": "HTML - Defines emphasized text",
"scope": "text.html"
},
"embed": {
"prefix": "embed",
"body": "<embed src=\"$1\">$2",
"description": "HTML - Defines external interactive content ot plugin",
"scope": "text.html"
},
"fieldset": {
"prefix": "fieldset",
"body": [
"<fieldset>",
"\t$1",
"</fieldset>"
],
"description": "HTML - Defines a fieldset",
"scope": "text.html"
},
"figcaption": {
"prefix": "figcaption",
"body": "<figcaption>$1</figcaption>$2",
"description": "HTML - Defines a caption for a figure",
"scope": "text.html"
},
"figure": {
"prefix": "figure",
"body": [
"<figure>",
"\t$1",
"</figure>"
],
"description": "HTML - Defines a group of media content, and their caption",
"scope": "text.html"
},
"footer": {
"prefix": "footer",
"body": [
"<footer>",
"\t$1",
"</footer>"
],
"description": "HTML - Defines a footer for a section or page",
"scope": "text.html"
},
"form": {
"prefix": "form",
"body": [
"<form>",
"\t$1",
"</form>"
],
"description": "HTML - Defines a form",
"scope": "text.html"
},
"h1": {
"prefix": "h1",
"body": "<h1>$1</h1>$2",
"description": "HTML - Defines header 1",
"scope": "text.html"
},
"h2": {
"prefix": "h2",
"body": "<h2>$1</h2>$2",
"description": "HTML - Defines header 2",
"scope": "text.html"
},
"h3": {
"prefix": "h3",
"body": "<h3>$1</h3>$2",
"description": "HTML - Defines header 3",
"scope": "text.html"
},
"h4": {
"prefix": "h4",
"body": "<h4>$1</h4>$2",
"description": "HTML - Defines header 4",
"scope": "text.html"
},
"h5": {
"prefix": "h5",
"body": "<h5>$1</h5>$2",
"description": "HTML - Defines header 5",
"scope": "text.html"
},
"h6": {
"prefix": "h6",
"body": "<h6>$1</h6>$2",
"description": "HTML - Defines header 6",
"scope": "text.html"
},
"head": {
"prefix": "head",
"body": [
"<head>",
"\t$1",
"</head>"
],
"description": "HTML - Defines information about the document",
"scope": "text.html"
},
"header": {
"prefix": "header",
"body": [
"<header>",
"\t$1",
"</header>"
],
"description": "HTML - Defines a header for a section of page",
"scope": "text.html"
},
"hgroup": {
"prefix": "hgroup",
"body": [
"<hgroup>",
"\t$1",
"</hgroup>"
],
"description": "HTML - Defines information about a section in a document",
"scope": "text.html"
},
"hr": {
"prefix": "hr",
"body": "<hr>",
"description": "HTML - Defines a horizontal rule",
"scope": "text.html"
},
"html": {
"prefix": "html",
"body": [
"<html>",
"\t$1",
"</html>"
],
"description": "HTML - Defines an html document",
"scope": "text.html"
},
"html5": {
"prefix": "html5",
"body": [
"<!DOCTYPE html>",
"<html lang=\"$1en\">",
"\t<head>",
"\t\t<title>$2</title>",
"\t\t<meta charset=\"UTF-8\">",
"\t\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">",
"\t\t<link href=\"$3css/style.css\" rel=\"stylesheet\">",
"\t</head>",
"\t<body>",
"\t$4",
"\t</body>",
"</html>"
],
"description": "HTML - Defines a template for a html5 document",
"scope": "text.html"
},
"i": {
"prefix": "i",
"body": "<i>$1</i>$2",
"description": "HTML - Defines italic text",
"scope": "text.html"
},
"iframe": {
"prefix": "iframe",
"body": "<iframe src=\"$1\">$2</iframe>$3",
"description": "HTML - Defines an inline sub window",
"scope": "text.html"
},
"img": {
"prefix": "img",
"body": "<img src=\"$1\" alt=\"$2\">$3",
"description": "HTML - Defines an image",
"scope": "text.html"
},
"input": {
"prefix": "input",
"body": "<input type=\"$1\" name=\"$2\" value=\"$3\">$4",
"description": "HTML - Defines an input field",
"scope": "text.html"
},
"ins": {
"prefix": "ins",
"body": "<ins>$1</ins>$2",
"description": "HTML - Defines inserted text",
"scope": "text.html"
},
"keygen": {
"prefix": "keygen",
"body": "<keygen name=\"$1\">$2",
"description": "HTML - Defines a generated key in a form",
"scope": "text.html"
},
"kbd": {
"prefix": "kbd",
"body": "<kbd>$1</kbd>$2",
"description": "HTML - Defines keyboard text",
"scope": "text.html"
},
"label": {
"prefix": "label",
"body": "<label for=\"$1\">$2</label>$3",
"description": "HTML - Defines an inline window",
"scope": "text.html"
},
"legend": {
"prefix": "legend",
"body": "<legend>$1</legend>$2",
"description": "HTML - Defines a title in a fieldset",
"scope": "text.html"
},
"li": {
"prefix": "li",
"body": "<li>$1</li>$2",
"description": "HTML - Defines a list item",
"scope": "text.html"
},
"link": {
"prefix": "link",
"body": "<link rel=\"$1\" type=\"$2\" href=\"$3\">$4",
"description": "HTML - Defines a resource reference",
"scope": "text.html"
},
"main": {
"prefix": "main",
"body": [
"<main>",
"\t$1",
"</main>"
],
"description": "HTML - Defines an image map",
"scope": "text.html"
},
"map": {
"prefix": "map",
"body": [
"<map name=\"$1\">",
"\t$2",
"</map>"
],
"description": "HTML - Defines an image map",
"scope": "text.html"
},
"mark": {
"prefix": "mark",
"body": "<mark>$1</mark>$2",
"description": "HTML - Defines marked text",
"scope": "text.html"
},
"menu": {
"prefix": "menu",
"body": [
"<menu>",
"\t$1",
"</menu>"
],
"description": "HTML - Defines a menu list",
"scope": "text.html"
},
"menuitem": {
"prefix": "menuitem",
"body": "<menuitem>$1</menuitem>$2",
"description": "HTML - Defines a menu item [firefox only]",
"scope": "text.html"
},
"meta": {
"prefix": "meta",
"body": "<meta name=\"$1\" content=\"$2\">$3",
"description": "HTML - Defines meta information",
"scope": "text.html"
},
"meter": {
"prefix": "meter",
"body": "<meter value=\"$1\">$2</meter>$3",
"description": "HTML - Defines measurement within a predefined range",
"scope": "text.html"
},
"nav": {
"prefix": "nav",
"body": [
"<nav>",
"\t$1",
"</nav>"
],
"description": "HTML - Defines navigation links",
"scope": "text.html"
},
"noscript": {
"prefix": "noscript",
"body": [
"<noscript>",
"$1",
"</noscript>"
],
"description": "HTML - Defines a noscript section",
"scope": "text.html"
},
"object": {
"prefix": "object",
"body": "<object width=\"$1\" height=\"$2\" data=\"$3\">$4</object>$5",
"description": "HTML - Defines an embedded object",
"scope": "text.html"
},
"ol": {
"prefix": "ol",
"body": [
"<ol>",
"\t$1",
"</ol>"
],
"description": "HTML - Defines an ordered list",
"scope": "text.html"
},
"optgroup": {
"prefix": "optgroup",
"body": [
"<optgroup>",
"\t$1",
"</optgroup>"
],
"description": "HTML - Defines an option group",
"scope": "text.html"
},
"option": {
"prefix": "option",
"body": "<option value=\"$1\">$2</option>$3",
"description": "HTML - Defines an option in a drop-down list",
"scope": "text.html"
},
"output": {
"prefix": "output",
"body": "<output name=\"$1\" for=\"$2\">$3</output>$4",
"description": "HTML - Defines some types of output",
"scope": "text.html"
},
"p": {
"prefix": "p",
"body": "<p>$1</p>$2",
"description": "HTML - Defines a paragraph",
"scope": "text.html"
},
"param": {
"prefix": "param",
"body": "<param name=\"$1\" value=\"$2\">$3",
"description": "HTML - Defines a parameter for an object",
"scope": "text.html"
},
"pre": {
"prefix": "pre",
"body": [
"<pre>$1</pre>"
],
"description": "HTML - Defines preformatted text",
"scope": "text.html"
},
"progress": {
"prefix": "progress",
"body": "<progress value=\"$1\" max=\"$2\">$3</progress>$4",
"description": "HTML - Defines progress of a task of any kind",
"scope": "text.html"
},
"q": {
"prefix": "q",
"body": "<q>$1</q>$2",
"description": "HTML - Defines a short quotation",
"scope": "text.html"
},
"rp": {
"prefix": "rp",
"body": "<rp>$1</rp>$2",
"description": "HTML - Used in ruby annotations to define what to show browsers that do not support the ruby element",
"scope": "text.html"
},
"rt": {
"prefix": "rt",
"body": "<rt>$1</rt>$2",
"description": "HTML - Defines explanation to ruby annotations",
"scope": "text.html"
},
"ruby": {
"prefix": "ruby",
"body": [
"<ruby>",
"$1",
"</ruby>"
],
"description": "HTML - Defines ruby annotations",
"scope": "text.html"
},
"s": {
"prefix": "s",
"body": "<s>$1</s>$2",
"description": "HTML - Used to define strikethrough text",
"scope": "text.html"
},
"samp": {
"prefix": "samp",
"body": "<samp>$1</samp>$2",
"description": "HTML - Defines sample computer code",
"scope": "text.html"
},
"script": {
"prefix": "script",
"body": [
"<script>",
"\t$1",
"</script>"
],
"description": "HTML - Defines a script",
"scope": "text.html"
},
"section": {
"prefix": "section",
"body": [
"<section>",
"\t$1",
"</section>"
],
"description": "HTML - Defines a section",
"scope": "text.html"
},
"select": {
"prefix": "select",
"body": [
"<select>",
"\t$1",
"</select>"
],
"description": "HTML - Defines a selectable list",
"scope": "text.html"
},
"small": {
"prefix": "small",
"body": "<small>$1</small>$2",
"description": "HTML - Defines small text",
"scope": "text.html"
},
"source": {
"prefix": "source",
"body": "<source src=\"$1\" type=\"$2\">$3",
"description": "HTML - Defines media resource",
"scope": "text.html"
},
"span": {
"prefix": "span",
"body": "<span>$1</span>$2",
"description": "HTML - Defines a section in a document",
"scope": "text.html"
},
"strong": {
"prefix": "strong",
"body": "<strong>$1</strong>$2",
"description": "HTML - Defines strong text",
"scope": "text.html"
},
"style": {
"prefix": "style",
"body": [
"<style>",
"$1",
"</style>"
],
"description": "HTML - Defines a style definition",
"scope": "text.html"
},
"sub": {
"prefix": "sub",
"body": "<sub>$1</sub>$2",
"description": "HTML - Defines sub-scripted text",
"scope": "text.html"
},
"sup": {
"prefix": "sup",
"body": "<sup>$1</sup>$2",
"description": "HTML - Defines super-scripted text",
"scope": "text.html"
},
"summary": {
"prefix": "summary",
"body": "<summary>$1</summary>$2",
"description": "HTML - Defines a visible heading for the detail element [limited support]",
"scope": "text.html"
},
"table": {
"prefix": "table",
"body": [
"<table>",
"\t$1",
"</table>"
],
"description": "HTML - Defines a table",
"scope": "text.html"
},
"tbody": {
"prefix": "tbody",
"body": [
"<tbody>",
"\t$1",
"</tbody>"
],
"description": "HTML - Defines a table body",
"scope": "text.html"
},
"td": {
"prefix": "td",
"body": "<td>$1</td>$2",
"description": "HTML - Defines a table cell",
"scope": "text.html"
},
"textarea": {
"prefix": "textarea",
"body": "<textarea rows=\"$1\" cols=\"$2\">$3</textarea>$4",
"description": "HTML - Defines a text area",
"scope": "text.html"
},
"tfoot": {
"prefix": "tfoot",
"body": [
"<tfoot>",
"\t$1",
"</tfoot>"
],
"description": "HTML - Defines a table footer",
"scope": "text.html"
},
"thead": {
"prefix": "thead",
"body": [
"<thead>",
"$1",
"</thead>"
],
"description": "HTML - Defines a table head",
"scope": "text.html"
},
"th": {
"prefix": "th",
"body": "<th>$1</th>$2",
"description": "HTML - Defines a table header",
"scope": "text.html"
},
"time": {
"prefix": "time",
"body": "<time datetime=\"$1\">$2</time>$3",
"description": "HTML - Defines a date/time",
"scope": "text.html"
},
"title": {
"prefix": "title",
"body": "<title>$1</title>$2",
"description": "HTML - Defines the document title",
"scope": "text.html"
},
"tr": {
"prefix": "tr",
"body": "<tr>$1</tr>$2",
"description": "HTML - Defines a table row",
"scope": "text.html"
},
"track": {
"prefix": "track",
"body": "<track src=\"$1\" kind=\"$2\" srclang=\"$3\" label=\"$4\">$5",
"description": "HTML - Defines a table row",
"scope": "text.html"
},
"u": {
"prefix": "u",
"body": "<u>$1</u>$2",
"description": "HTML - Used to define underlined text",
"scope": "text.html"
},
"ul": {
"prefix": "ul",
"body": [
"<ul>",
"\t$1",
"</ul>"
],
"description": "HTML - Defines an unordered list",
"scope": "text.html"
},
"var": {
"prefix": "var",
"body": "<var>$1</var>$2",
"description": "HTML - Defines a variable",
"scope": "text.html"
},
"video": {
"prefix": "video",
"body": [
"<video width=\"$1\" height=\"$2\" controls>",
"\t$3",
"</video>"
],
"description": "HTML - Defines a video",
"scope": "text.html"
}
}

Bestand weergeven

@@ -1,774 +0,0 @@
{
"setImmediate": {
"prefix": "sim",
"body": "setImmediate(() => {\n\t${0}\n})"
},
"await": {
"prefix": "a",
"body": "await ${0}"
},
"await Promise.all": {
"prefix": "apa",
"body": "await Promise.all(${1:value})"
},
"await Promise.all with destructuring": {
"prefix": "apad",
"body": "const [${0}] = await Promise.all(${1:value})"
},
"await Promise.all map": {
"prefix": "apm",
"body": "await Promise.all(${1:array}.map(async (${2:value}) => {\n\t${0}\n}))"
},
"await sleep": {
"prefix": "ast",
"body": "await new Promise((r) => setTimeout(r, ${0}))"
},
"Node callback": {
"prefix": "cb",
"body": "function (err, ${1:value}) {\n\tif (err) throw err\n\t${0}\n}"
},
"process.env": {
"prefix": "pe",
"body": "process.env"
},
"Promise.all": {
"prefix": "pa",
"body": "Promise.all(${1:value})"
},
"Promise.resolve": {
"prefix": "prs",
"body": "Promise.resolve(${1:value})"
},
"Promise.reject": {
"prefix": "prj",
"body": "Promise.reject(${1:value})"
},
"Promise": {
"prefix": "p",
"body": "Promise"
},
"new Promise": {
"prefix": "np",
"body": "new Promise((resolve, reject) => {\n\t${0}\n})"
},
"Promise.then": {
"prefix": "pt",
"body": "${1:promise}.then((${2:value}) => {\n\t${0}\n})"
},
"Promise.catch": {
"prefix": "pc",
"body": "${1:promise}.catch(error => {\n\t${0}\n})"
},
"describe": {
"prefix": "desc",
"body": "describe('${1:description}', () => {\n\t${0}\n})"
},
"describe top level": {
"prefix": "dt",
"body": "describe('${TM_FILENAME_BASE}', () => {\n\t${0}\n})"
},
"it asynchronous": {
"prefix": "it",
"body": "it('${1:description}', async () => {\n\t${0}\n})"
},
"it.todo": {
"prefix": "itt",
"body": "it.todo('${1:description}')"
},
"it with a callback": {
"prefix": "itd",
"body": "it('${1:description}', (done) => {\n\t${0}\n})"
},
"it synchronous": {
"prefix": "its",
"body": "it('${1:description}', () => {\n\t${0}\n})"
},
"before": {
"prefix": "bf",
"body": "before(async () => {\n\t${0}\n})"
},
"beforeAll": {
"prefix": "ba",
"body": "beforeAll(async () => {\n\t${0}\n})"
},
"beforeEach": {
"prefix": "bfe",
"body": "beforeEach(async () => {\n\t${0}\n})"
},
"after": {
"prefix": "aft",
"body": "after(() => {\n\t${0}\n})"
},
"afterEach": {
"prefix": "afe",
"body": "afterEach(() => {\n\t${0}\n})"
},
"require": {
"prefix": "rq",
"body": "require('${1:module}')"
},
"const module = require('module')": {
"prefix": "cr",
"body": "const ${1:module} = require('${1:module}')"
},
"exports.member": {
"prefix": "em",
"body": "exports.${1:member} = ${2:value}"
},
"module.exports": {
"prefix": "me",
"body": "module.exports = ${1:name}"
},
"module as class": {
"prefix": "mec",
"body": "class ${1:name} {\n\tconstructor (${2:arguments}) {\n\t\t${0}\n\t}\n}\n\nmodule.exports = ${1:name}\n"
},
"event handler": {
"prefix": "on",
"body": "${1:emitter}.on('${2:event}', (${3:arguments}) => {\n\t${0}\n})"
},
"dom event cancel default and propagation": {
"prefix": "evc",
"body": "ev.preventDefault()\nev.stopPropagation()\nreturn false"
},
"addEventListener": {
"prefix": "ae",
"body": "${1:document}.addEventListener('${2:event}', ${3:ev} => {\n\t${0}\n})"
},
"removeEventListener": {
"prefix": "rel",
"body": "${1:document}.removeEventListener('${2:event}', ${3:listener})"
},
"getElementById": {
"prefix": "gi",
"body": "${1:document}.getElementById('${2:id}')"
},
"getElementsByClassName": {
"prefix": "gc",
"body": "Array.from(${1:document}.getElementsByClassName('${2:class}'))"
},
"getElementsByTagName": {
"prefix": "gt",
"body": "Array.from(${1:document}.getElementsByTagName('${2:tag}'))"
},
"querySelector": {
"prefix": "qs",
"body": "${1:document}.querySelector('${2:selector}')"
},
"querySelectorAll": {
"prefix": "qsa",
"body": "Array.from(${1:document}.querySelectorAll('${2:selector}'))"
},
"createDocumentFragment": {
"prefix": "cdf",
"body": "${1:document}.createDocumentFragment(${2:elem})"
},
"createElement": {
"prefix": "cel",
"body": "${1:document}.createElement(${2:elem})"
},
"classList.add": {
"prefix": "hecla",
"body": "${1:el}.classList.add('${2:class}')"
},
"classList.remove": {
"prefix": "heclr",
"body": "${1:el}.classList.remove('${2:class}')"
},
"classList.toggle": {
"prefix": "hect",
"body": "${1:el}.classList.toggle('${2:class}')"
},
"getAttribute": {
"prefix": "hega",
"body": "${1:el}.getAttribute('${2:attr}')"
},
"removeAttribute": {
"prefix": "hera",
"body": "${1:el}.removeAttribute('${2:attr}')"
},
"setAttribute": {
"prefix": "hesa",
"body": "${1:el}.setAttribute('${2:attr}', ${3:value})"
},
"appendChild": {
"prefix": "heac",
"body": "${1:el}.appendChild(${2:elem})"
},
"removeChild": {
"prefix": "herc",
"body": "${1:el}.removeChild(${2:elem})"
},
"forEach loop": {
"prefix": "fe",
"body": "${1:iterable}.forEach((${2:item}) => {\n\t${0}\n})"
},
"map": {
"prefix": "map",
"body": "${1:iterable}.map((${2:item}) => {\n\t${0}\n})"
},
"reduce": {
"prefix": "reduce",
"body": "${1:iterable}.reduce((${2:previous}, ${3:current}) => {\n\t${0}\n}${4:, initial})"
},
"filter": {
"prefix": "filter",
"body": "${1:iterable}.filter((${2:item}) => {\n\t${0}\n})"
},
"find": {
"prefix": "find",
"body": "${1:iterable}.find((${2:item}) => {\n\t${0}\n})"
},
"every": {
"prefix": "every",
"body": "${1:iterable}.every((${2:item}) => {\n\t${0}\n})"
},
"some": {
"prefix": "some",
"body": "${1:iterable}.some((${2:item}) => {\n\t${0}\n})"
},
"var statement": {
"prefix": "v",
"body": "var ${1:name}"
},
"var assignment": {
"prefix": "va",
"body": "var ${1:name} = ${2:value}"
},
"let statement": {
"prefix": "l",
"body": "let ${1:name}"
},
"const statement": {
"prefix": "c",
"body": "const ${1:name}"
},
"const statement from destructuring": {
"prefix": "cd",
"body": "const { ${2:prop} } = ${1:value}"
},
"const statement from array destructuring": {
"prefix": "cad",
"body": "const [ ${2:prop} ] = ${1:value}"
},
"const assignment awaited": {
"prefix": "ca",
"body": "const ${1:name} = await ${2:value}"
},
"const destructuring assignment awaited": {
"prefix": "cda",
"body": "const { ${1:name} } = await ${2:value}"
},
"const arrow function assignment": {
"prefix": "cf",
"body": "const ${1:name} = (${2:arguments}) => {\n\treturn ${0}\n}"
},
"let assignment awaited": {
"prefix": "la",
"body": "let ${1:name} = await ${2:value}"
},
"const assignment yielded": {
"prefix": "cy",
"body": "const ${1:name} = yield ${2:value}"
},
"let assignment yielded": {
"prefix": "ly",
"body": "let ${1:name} = yield ${2:value}"
},
"const object": {
"prefix": "co",
"body": "const ${1:name} = {\n\t${0}\n}"
},
"const array": {
"prefix": "car",
"body": "const ${1:name} = [\n\t${0}\n]"
},
"generate array of integers starting with 1": {
"prefix": "gari",
"body": "Array.from({ length: ${1:length} }, (v, k) => k + 1)"
},
"generate array of integers starting with 0": {
"prefix": "gari0",
"body": "[...Array(${1:length}).keys()]"
},
"class": {
"prefix": "cs",
"body": "class ${1:name} {\n\tconstructor (${2:arguments}) {\n\t\t${0}\n\t}\n}"
},
"class extends": {
"prefix": "csx",
"body": "class ${1:name} extends ${2:base} {\n\tconstructor (${3:arguments}) {\n\t\tsuper(${3:arguments})\n\t\t${0}\n\t}\n}"
},
"module export": {
"prefix": "e",
"body": "export ${1:member}"
},
"module export const": {
"prefix": "ec",
"body": "export const ${1:member} = ${2:value}"
},
"export named function": {
"prefix": "ef",
"body": "export function ${1:member} (${2:arguments}) {\n\t${0}\n}"
},
"module default export": {
"prefix": "ed",
"body": "export default ${1:member}"
},
"module default export function": {
"prefix": "edf",
"body": "export default function ${1:name} (${2:arguments}) {\n\t${0}\n}"
},
"import module": {
"prefix": "im",
"body": "import ${2:*} from '${1:module}'"
},
"import module as": {
"prefix": "ia",
"body": "import ${2:*} as ${3:name} from '${1:module}'"
},
"import module destructured": {
"prefix": "id",
"body": "import {$2} from '${1:module}'"
},
"typeof": {
"prefix": "to",
"body": "typeof ${1:source} === '${2:undefined}'"
},
"this": {
"prefix": "t",
"body": "this."
},
"instanceof": {
"prefix": "iof",
"body": "${1:source} instanceof ${2:Object}"
},
"let and if statement": {
"prefix": "lif",
"body": "let ${0} \n if (${2:condition}) {\n\t${1}\n}"
},
"else statement": {
"prefix": "el",
"body": "else {\n\t${0}\n}"
},
"else if statement": {
"prefix": "ei",
"body": "else if (${1:condition}) {\n\t${0}\n}"
},
"while iteration decrementing": {
"prefix": "wid",
"body": "let ${1:array}Index = ${1:array}.length\nwhile (${1:array}Index--) {\n\t${0}\n}"
},
"throw new Error": {
"prefix": "tn",
"body": "throw new ${0:error}"
},
"try/catch": {
"prefix": "tc",
"body": "try {\n\t${0}\n} catch (${1:err}) {\n\t\n}"
},
"try/finally": {
"prefix": "tf",
"body": "try {\n\t${0}\n} finally {\n\t\n}"
},
"try/catch/finally": {
"prefix": "tcf",
"body": "try {\n\t${0}\n} catch (${1:err}) {\n\t\n} finally {\n\t\n}"
},
"anonymous function": {
"prefix": "fan",
"body": "function (${1:arguments}) {${0}}"
},
"named function": {
"prefix": "fn",
"body": "function ${1:name} (${2:arguments}) {\n\t${0}\n}"
},
"async function": {
"prefix": "asf",
"body": "async function (${1:arguments}) {\n\t${0}\n}"
},
"async arrow function": {
"prefix": "aa",
"body": "async (${1:arguments}) => {\n\t${0}\n}"
},
"immediately-invoked function expression": {
"prefix": "iife",
"body": ";(function (${1:arguments}) {\n\t${0}\n})(${2})"
},
"async immediately-invoked function expression": {
"prefix": "aiife",
"body": ";(async (${1:arguments}) => {\n\t${0}\n})(${2})"
},
"arrow function": {
"prefix": "af",
"body": "(${1:arguments}) => ${2:statement}"
},
"arrow function with destructuring": {
"prefix": "fd",
"body": "({${1:arguments}}) => ${2:statement}"
},
"arrow function with destructuring returning destructured": {
"prefix": "fdr",
"body": "({${1:arguments}}) => ${1:arguments}"
},
"arrow function with body": {
"prefix": "f",
"body": "(${1:arguments}) => {\n\t${0}\n}"
},
"arrow function with return": {
"prefix": "fr",
"body": "(${1:arguments}) => {\n\treturn ${0}\n}"
},
"generator function": {
"prefix": "gf",
"body": "function* (${1:arguments}) {\n\t${0}\n}"
},
"named generator": {
"prefix": "gfn",
"body": "function* ${1:name}(${2:arguments}) {\n\t${0}\n}"
},
"console.log": {
"prefix": "cl",
"body": "console.log(${0})"
},
"console.log a variable": {
"prefix": "cv",
"body": "console.log('${1}:', ${1})"
},
"console.error": {
"prefix": "ce",
"body": "console.error(${0})"
},
"console.warn": {
"prefix": "cw",
"body": "console.warn(${0})"
},
"console.dir": {
"prefix": "cod",
"body": "console.dir('${1}:', ${1})"
},
"constructor": {
"prefix": "cn",
"body": "constructor () {\n\t${0}\n}"
},
"use strict": {
"prefix": "uss",
"body": "'use strict'"
},
"JSON.stringify()": {
"prefix": "js",
"body": "JSON.stringify($0)"
},
"JSON.parse()": {
"prefix": "jp",
"body": "JSON.parse($0)"
},
"method": {
"prefix": "m",
"body": "${1:method} (${2:arguments}) {\n\t${0}\n}"
},
"getter": {
"prefix": "get",
"body": "get ${1:property} () {\n\t${0}\n}"
},
"setter": {
"prefix": "set",
"body": "set ${1:property} (${2:value}) {\n\t${0}\n}"
},
"getter + setter": {
"prefix": "gs",
"body": "get ${1:property} () {\n\t${0}\n}\nset ${1:property} (${2:value}) {\n\t\n}"
},
"prototype method": {
"prefix": "proto",
"body": "${1:Class}.prototype.${2:method} = function (${3:arguments}) {\n\t${0}\n}"
},
"Object.assign": {
"prefix": "oa",
"body": "Object.assign(${1:dest}, ${2:source})"
},
"Object.create": {
"prefix": "oc",
"body": "Object.create(${1:obj})"
},
"Object.getOwnPropertyDescriptor": {
"prefix": "og",
"body": "Object.getOwnPropertyDescriptor(${1:obj}, '${2:prop}')"
},
"ternary": {
"prefix": "te",
"body": "${1:cond} ? ${2:true} : ${3:false}"
},
"ternary assignment": {
"prefix": "ta",
"body": "const ${0} = ${1:cond} ? ${2:true} : ${3:false}"
},
"Object.defineProperty": {
"prefix": "od",
"body": "Object.defineProperty(${1:dest}, '${2:prop}', {\n\t${0}\n})"
},
"Object.keys": {
"prefix": "ok",
"body": "Object.keys(${1:obj})"
},
"Object.values": {
"prefix": "ov",
"body": "Object.values(${1:obj})"
},
"Object.entries": {
"prefix": "oe",
"body": "Object.entries(${1:obj})"
},
"return": {
"prefix": "r",
"body": "return ${0}"
},
"return arrow function": {
"prefix": "rf",
"body": "return (${1:arguments}) => ${2:statement}"
},
"yield": {
"prefix": "y",
"body": "yield ${0}"
},
"return this": {
"prefix": "rt",
"body": "return ${0:this}"
},
"return null": {
"prefix": "rn",
"body": "return null"
},
"return new object": {
"prefix": "ro",
"body": "return {\n\t${0}\n}"
},
"return new array": {
"prefix": "ra",
"body": "return [\n\t${0}\n]"
},
"return promise": {
"prefix": "rp",
"body": "return new Promise((resolve, reject) => {\n\t${0}\n})"
},
"wrap selection in arrow function": {
"prefix": "wrap selection in arrow function",
"body": "() => {\n\t{$TM_SELECTED_TEXT}\n}",
"description": "wraps text in arrow function"
},
"wrap selection in async arrow function": {
"prefix": "wrap selection in async arrow function",
"body": "async () => {\n\t{$TM_SELECTED_TEXT}\n}",
"description": "wraps text in arrow function"
},
"define module": {
"prefix": "define",
"body": [
"define([",
"\t'require',",
"\t'${1:dependency}'",
"], function(require, ${2:factory}) {",
"\t'use strict';",
"\t$0",
"});"
],
"description": "define module"
},
"For Loop": {
"prefix": "for",
"body": [
"for (let ${1:index} = 0; ${1:index} < ${2:array}.length; ${1:index}++) {",
"\tconst ${3:element} = ${2:array}[${1:index}];",
"\t$0",
"}"
],
"description": "For Loop"
},
"For-Each Loop": {
"prefix": "foreach",
"body": ["${1:array}.forEach(${2:element} => {", "\t$0", "});"],
"description": "For-Each Loop"
},
"For-In Loop": {
"prefix": "forin",
"body": [
"for (const ${1:key} in ${2:object}) {",
"\tif (${2:object}.hasOwnProperty(${1:key})) {",
"\t\tconst ${3:element} = ${2:object}[${1:key}];",
"\t\t$0",
"\t}",
"}"
],
"description": "For-In Loop"
},
"For-Of Loop": {
"prefix": "forof",
"body": ["for (const ${1:iterator} of ${2:object}) {", "\t$0", "}"],
"description": "For-Of Loop"
},
"Function Statement": {
"prefix": "function",
"body": ["function ${1:name}(${2:params}) {", "\t$0", "}"],
"description": "Function Statement"
},
"If Statement": {
"prefix": "if",
"body": ["if (${1:condition}) {", "\t$0", "}"],
"description": "If Statement"
},
"If-Else Statement": {
"prefix": "ifelse",
"body": ["if (${1:condition}) {", "\t$0", "} else {", "\t", "}"],
"description": "If-Else Statement"
},
"New Statement": {
"prefix": "new",
"body": ["const ${1:name} = new ${2:type}(${3:arguments});$0"],
"description": "New Statement"
},
"Switch Statement": {
"prefix": "switch",
"body": [
"switch (${1:key}) {",
"\tcase ${2:value}:",
"\t\t$0",
"\t\tbreak;",
"",
"\tdefault:",
"\t\tbreak;",
"}"
],
"description": "Switch Statement"
},
"While Statement": {
"prefix": "while",
"body": ["while (${1:condition}) {", "\t$0", "}"],
"description": "While Statement"
},
"Do-While Statement": {
"prefix": "dowhile",
"body": ["do {", "\t$0", "} while (${1:condition});"],
"description": "Do-While Statement"
},
"Try-Catch Statement": {
"prefix": "trycatch",
"body": ["try {", "\t$0", "} catch (${1:error}) {", "\t", "}"],
"description": "Try-Catch Statement"
},
"Set Timeout Function": {
"prefix": "settimeout",
"body": ["setTimeout(() => {", "\t$0", "}, ${1:timeout});"],
"description": "Set Timeout Function"
},
"Set Interval Function": {
"prefix": "setinterval",
"body": ["setInterval(() => {", "\t$0", "}, ${1:interval});"],
"description": "Set Interval Function"
},
"Import external module.": {
"prefix": "import statement",
"body": ["import { $0 } from \"${1:module}\";"],
"description": "Import external module."
},
"Region Start": {
"prefix": "#region",
"body": ["//#region $0"],
"description": "Folding Region Start"
},
"Region End": {
"prefix": "#endregion",
"body": ["//#endregion"],
"description": "Folding Region End"
},
"Log warning to console": {
"prefix": "warn",
"body": ["console.warn($1);", "$0"],
"description": "Log warning to the console"
},
"Log error to console": {
"prefix": "error",
"body": ["console.error($1);", "$0"],
"description": "Log error to the console"
},
"JSDoc Comment": {
"prefix": "/*",
"body": [
"/**",
" * ${1:Comment}$0",
"*/"
],
"description": "A JSDoc comment"
},
"author email": {
"prefix": "@au",
"body": [
"@author ${1:author_name} [${2:author_email}]"
],
"description": "@author email (First Last)"
},
"Lisense desc": {
"prefix": "@li",
"body": [
"@license ${1:MIT}$0"
],
"description": "@lisence Description"
},
"Semantic version": {
"prefix": "@ver",
"body": [
"@version ${1:0.1.0}$0"
],
"description": "@version Semantic version"
},
"File overview": {
"prefix": "@fileo",
"body": [
"/**\n",
" * @fileoverview ${1:Description_of_the_file}$0",
"*/"
],
"description": "@fileoverview Description"
},
"Contructor": {
"prefix": "@constr",
"body": [
"@contructor"
],
"description": "@constructor"
},
"varname": {
"prefix": "@p",
"body": [
"@param ${1:Type} ${2:varname} ${3:Description}"
],
"description": "@param {Type} varname Description"
},
"return type desc": {
"prefix": "@ret",
"body": [
"@return ${1:Type} ${2:Description}"
],
"description": "@return {Type} Description"
},
"private": {
"prefix": "@pri",
"body": [
"@private"
],
"description": "@private"
},
"override": {
"prefix": "@over",
"body": [
"@override"
],
"description": "@override"
},
"protected": {
"prefix": "@pro",
"body": [
"@protected"
],
"description": "@protected"
}
}

Bestand weergeven

@@ -1,288 +0,0 @@
{
"header 1": {
"prefix": "h1",
"body": ["# ${0}"],
"description": "Add header level 1"
},
"header 2": {
"prefix": "h2",
"body": ["## ${0}"],
"description": "Add header level 2"
},
"header 3": {
"prefix": "h3",
"body": ["### ${0}"],
"description": "Add header level 3"
},
"header 4": {
"prefix": "h4",
"body": ["#### ${0}"],
"description": "Add header level 4"
},
"header 5": {
"prefix": "h5",
"body": ["##### ${0}"],
"description": "Add header level 5"
},
"header 6": {
"prefix": "h6",
"body": ["###### ${0}"],
"description": "Add header level 6"
},
"Links": {
"prefix": ["l", "link"],
"body": ["[${1}](${2})${0}"],
"description": "Add links"
},
"URLS": {
"prefix": ["u", "url"],
"body": ["<${1}> ${0}"],
"description": "Add urls"
},
"Images": {
"prefix": "img",
"body": ["![${1}](${2}) ${0}"],
"description": "Add images"
},
"Insert strikethrough": {
"prefix": "strikethrough",
"body": "~~${1}~~ ${0}",
"description": "Insert strikethrough"
},
"Insert bold text": {
"prefix": ["bold", "b"],
"body": "**${1}** $0",
"description": "Insert bold text"
},
"Insert italic text": {
"prefix": ["i", "italic"],
"body": "*${1}* $0",
"description": "Insert italic text"
},
"Insert bold and italic text": {
"prefix": ["bold and italic", "bi"],
"body": "***${1}*** $0",
"description": "Insert bold and italic text"
},
"Insert quoted text": {
"prefix": "quote",
"body": "> ${1}",
"description": "Insert quoted text"
},
"Insert code": {
"prefix": "code",
"body": "`${1}` $0",
"description": "Insert code"
},
"Insert code block": {
"prefix": "codeblock",
"body": ["```${1:language}", "$0", "```"],
"description": "Insert fenced code block"
},
"Insert unordered list": {
"prefix": "unordered list",
"body": ["- ${1:first}", "- ${2:second}", "- ${3:third}", "$0"],
"description": "Insert unordered list"
},
"Insert ordered list": {
"prefix": "ordered list",
"body": ["1. ${1:first}", "2. ${2:second}", "3. ${3:third}", "$0"],
"description": "Insert ordered list"
},
"Insert horizontal rule": {
"prefix": "horizontal rule",
"body": "----------\n",
"description": "Insert horizontal rule"
},
"Insert task list": {
"prefix": "task",
"body": ["- [${1| ,x|}] ${2:text}", "${0}"],
"description": "Insert task list"
},
"Insert task list 2": {
"prefix": "task2",
"body": ["- [${1| ,x|}] ${2:text}", "- [${3| ,x|}] ${4:text}", "${0}"],
"description": "Insert task list with 2 tasks"
},
"Insert task list 3": {
"prefix": "task3",
"body": [
"- [${1| ,x|}] ${2:text}",
"- [${3| ,x|}] ${4:text}",
"- [${5| ,x|}] ${6:text}",
"${0}"
],
"description": "Insert task list with 3 tasks"
},
"Insert task list 4": {
"prefix": "task4",
"body": [
"- [${1| ,x|}] ${2:text}",
"- [${3| ,x|}] ${4:text}",
"- [${5| ,x|}] ${6:text}",
"- [${7| ,x|}] ${8:text}",
"${0}"
],
"description": "Insert task list with 4 tasks"
},
"Insert task list 5": {
"prefix": "task5",
"body": [
"- [${1| ,x|}] ${2:text}",
"- [${3| ,x|}] ${4:text}",
"- [${5| ,x|}] ${6:text}",
"- [${7| ,x|}] ${8:text}",
"- [${9| ,x|}] ${10:text}",
"${0}"
],
"description": "Insert task list with 5 tasks"
},
"Insert table": {
"prefix": "table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} |",
"|-------------- | -------------- | -------------- |",
"| ${4:Item1} | ${5:Item1} | ${6:Item1} |",
"${0}"
],
"description": "Insert table with 2 rows and 3 columns. First row is heading."
},
"Insert 2x1 table": {
"prefix": "2x1table",
"body": [
"| ${1:Column1} |",
"|-------------- |",
"| ${2:Item1} |",
"${0}"
],
"description": "Insert table with 2 rows and 1 column. First row is heading."
},
"Insert 3x1 table": {
"prefix": "3x1table",
"body": [
"| ${1:Column1} |",
"|-------------- |",
"| ${2:Item1} |",
"| ${3:Item2} |",
"${0}"
],
"description": "Insert table with 3 rows and 1 column. First row is heading."
},
"Insert 4x1 table": {
"prefix": "4x1table",
"body": [
"| ${1:Column1} |",
"|-------------- |",
"| ${2:Item1} |",
"| ${3:Item2} |",
"| ${4:Item3} |",
"${0}"
],
"description": "Insert table with 4 rows and 1 column. First row is heading."
},
"Insert 5x1 table": {
"prefix": "5x1table",
"body": [
"| ${1:Column1} |",
"|-------------- |",
"| ${2:Item1} |",
"| ${3:Item2} |",
"| ${4:Item3} |",
"| ${5:Item4} |",
"${0}"
],
"description": "Insert table with 5 rows and 1 column. First row is heading."
},
"Insert 2x2 table": {
"prefix": "2x2table",
"body": [
"| ${1:Column1} | ${2:Column2} |",
"|--------------- | --------------- |",
"| ${3:Item1.1} | ${4:Item2.1} |",
"${0}"
],
"description": "Insert table with 2 rows and 2 columns. First row is heading."
},
"Insert 3x2 table": {
"prefix": "3x2table",
"body": [
"| ${1:Column1} | ${2:Column2} |",
"|--------------- | --------------- |",
"| ${3:Item1.1} | ${4:Item2.1} |",
"| ${5:Item1.2} | ${6:Item2.2} |",
"${0}"
],
"description": "Insert table with 3 rows and 2 columns. First row is heading."
},
"Insert 4x2 table": {
"prefix": "4x2table",
"body": [
"| ${1:Column1} | ${2:Column2} |",
"|--------------- | --------------- |",
"| ${3:Item1.1} | ${4:Item2.1} |",
"| ${5:Item1.2} | ${6:Item2.2} |",
"| ${7:Item1.3} | ${8:Item2.3} |",
"${0}"
],
"description": "Insert table with 4 rows and 2 columns. First row is heading."
},
"Insert 5x2 table": {
"prefix": "5x2table",
"body": [
"| ${1:Column1} | ${2:Column2} |",
"|--------------- | --------------- |",
"| ${3:Item1.1} | ${4:Item2.1} |",
"| ${4:Item1.2} | ${5:Item2.2} |",
"| ${6:Item1.3} | ${7:Item2.3} |",
"| ${8:Item1.4} | ${9:Item2.4} |",
"${0}"
],
"description": "Insert table with 5 rows and 2 columns. First row is heading."
},
"Insert 2x3 table": {
"prefix": "2x3table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} |",
"|---------------- | --------------- | --------------- |",
"| ${4:Item1.1} | ${5:Item2.1} | ${6:Item3.1} |",
"${0}"
],
"description": "Insert table with 2 rows and 3 columns. First row is heading."
},
"Insert 3x3 table": {
"prefix": "3x3table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} |",
"|---------------- | --------------- | --------------- |",
"| ${4:Item1.1} | ${5:Item2.1} | ${6:Item3.1} |",
"| ${7:Item1.2} | ${8:Item2.2} | ${9:Item3.2} |",
"${0}"
],
"description": "Insert table with 3 rows and 3 columns. First row is heading."
},
"Insert 4x3 table": {
"prefix": "4x3table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} |",
"|---------------- | --------------- | --------------- |",
"| ${4:Item1.1} | ${5:Item2.1} | ${6:Item3.1} |",
"| ${7:Item1.2} | ${8:Item2.2} | ${9:Item3.2} |",
"| ${10:Item1.3} | ${11:Item2.3} | ${12:Item3.3} |",
"${0}"
],
"description": "Insert table with 4 rows and 3 columns. First row is heading."
},
"Insert 5x3 table": {
"prefix": "5x3table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} |",
"|---------------- | --------------- | --------------- |",
"| ${4:Item1.1} | ${5:Item2.1} | ${6:Item3.1} |",
"| ${7:Item1.2} | ${8:Item2.2} | ${9:Item3.2} |",
"| ${10:Item1.3} | ${11:Item2.3} | ${12:Item3.3} |",
"| ${13:Item1.4} | ${14:Item2.4} | ${15:Item3.4} |",
"${0}"
],
"description": "Insert table with 5 rows and 3 columns. First row is heading."
}
}

Bestand weergeven

@@ -1,20 +0,0 @@
{
"image": {
"prefix": "image",
"body": [
".. image:: $1",
"\t:height: 200px",
"\t:alt: $2",
"$0"
],
"description": "Insert image"
},
"etape": {
"prefix": ["etape", "étape"],
"body": [
"Étape ${1:1}: $2",
"$0"
],
"description": "Insert image"
}
}

Bestand weergeven

@@ -1,380 +0,0 @@
{
"header 1": {
"prefix": "h1",
"body": ["# ${0}"],
"description": "Add header level 1"
},
"header 2": {
"prefix": "h2",
"body": ["## ${0}"],
"description": "Add header level 2"
},
"header 3": {
"prefix": "h3",
"body": ["### ${0}"],
"description": "Add header level 3"
},
"header 4": {
"prefix": "h4",
"body": ["#### ${0}"],
"description": "Add header level 4"
},
"header 5": {
"prefix": "h5",
"body": ["##### ${0}"],
"description": "Add header level 5"
},
"header 6": {
"prefix": "h6",
"body": ["###### ${0}"],
"description": "Add header level 6"
},
"Links": {
"prefix": ["l", "link"],
"body": ["[${1}](${2}) ${0}"],
"description": "Add links"
},
"URLS": {
"prefix": ["u", "url"],
"body": ["<${1}> ${0}"],
"description": "Add urls"
},
"Images": {
"prefix": "img",
"body": ["![${1}](${2}) ${0}"],
"description": "Add images"
},
"Insert strikethrough": {
"prefix": "strikethrough",
"body": "~~${1}~~ ${0}",
"description": "Insert strikethrough"
},
"Insert bold text": {
"prefix": ["bold", "b"],
"body": "**${1}** $0",
"description": "Insert bold text"
},
"Insert italic text": {
"prefix": ["i", "italic"],
"body": "*${1}* $0",
"description": "Insert italic text"
},
"Insert bold and italic text": {
"prefix": ["bold and italic", "bi"],
"body": "***${1}*** $0",
"description": "Insert bold and italic text"
},
"Insert quoted text": {
"prefix": "quote",
"body": "> ${1}",
"description": "Insert quoted text"
},
"Insert code": {
"prefix": "code",
"body": "`${1}` $0",
"description": "Insert code"
},
"Insert code block": {
"prefix": "codeblock",
"body": ["```${1:language}", "$0", "```"],
"description": "Insert fenced code block"
},
"Insert unordered list": {
"prefix": "unordered list",
"body": ["- ${1:first}", "- ${2:second}", "- ${3:third}", "$0"],
"description": "Insert unordered list"
},
"Insert ordered list": {
"prefix": "ordered list",
"body": ["1. ${1:first}", "2. ${2:second}", "3. ${3:third}", "$0"],
"description": "Insert ordered list"
},
"Insert horizontal rule": {
"prefix": "horizontal rule",
"body": "----------\n",
"description": "Insert horizontal rule"
},
"Insert task list": {
"prefix": "task",
"body": ["- [${1| ,x|}] ${2:text}", "${0}"],
"description": "Insert task list"
},
"Insert task list 2": {
"prefix": "task2",
"body": ["- [${1| ,x|}] ${2:text}", "- [${3| ,x|}] ${4:text}", "${0}"],
"description": "Insert task list with 2 tasks"
},
"Insert task list 3": {
"prefix": "task3",
"body": [
"- [${1| ,x|}] ${2:text}",
"- [${3| ,x|}] ${4:text}",
"- [${5| ,x|}] ${6:text}",
"${0}"
],
"description": "Insert task list with 3 tasks"
},
"Insert task list 4": {
"prefix": "task4",
"body": [
"- [${1| ,x|}] ${2:text}",
"- [${3| ,x|}] ${4:text}",
"- [${5| ,x|}] ${6:text}",
"- [${7| ,x|}] ${8:text}",
"${0}"
],
"description": "Insert task list with 4 tasks"
},
"Insert task list 5": {
"prefix": "task5",
"body": [
"- [${1| ,x|}] ${2:text}",
"- [${3| ,x|}] ${4:text}",
"- [${5| ,x|}] ${6:text}",
"- [${7| ,x|}] ${8:text}",
"- [${9| ,x|}] ${10:text}",
"${0}"
],
"description": "Insert task list with 5 tasks"
},
"Insert table": {
"prefix": "table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} |",
"|-------------- | -------------- | -------------- |",
"| ${4:Item1} | ${5:Item1} | ${6:Item1} |",
"${0}"
],
"description": "Insert table with 2 rows and 3 columns. First row is heading."
},
"Insert 2x1 table": {
"prefix": "2x1table",
"body": [
"| ${1:Column1} |",
"|-------------- |",
"| ${2:Item1} |",
"${0}"
],
"description": "Insert table with 2 rows and 1 column. First row is heading."
},
"Insert 3x1 table": {
"prefix": "3x1table",
"body": [
"| ${1:Column1} |",
"|-------------- |",
"| ${2:Item1} |",
"| ${3:Item2} |",
"${0}"
],
"description": "Insert table with 3 rows and 1 column. First row is heading."
},
"Insert 4x1 table": {
"prefix": "4x1table",
"body": [
"| ${1:Column1} |",
"|-------------- |",
"| ${2:Item1} |",
"| ${3:Item2} |",
"| ${4:Item3} |",
"${0}"
],
"description": "Insert table with 4 rows and 1 column. First row is heading."
},
"Insert 5x1 table": {
"prefix": "5x1table",
"body": [
"| ${1:Column1} |",
"|-------------- |",
"| ${2:Item1} |",
"| ${3:Item2} |",
"| ${4:Item3} |",
"| ${5:Item4} |",
"${0}"
],
"description": "Insert table with 5 rows and 1 column. First row is heading."
},
"Insert 2x2 table": {
"prefix": "2x2table",
"body": [
"| ${1:Column1} | ${2:Column2} |",
"|--------------- | --------------- |",
"| ${3:Item1.1} | ${4:Item2.1} |",
"${0}"
],
"description": "Insert table with 2 rows and 2 columns. First row is heading."
},
"Insert 3x2 table": {
"prefix": "3x2table",
"body": [
"| ${1:Column1} | ${2:Column2} |",
"|--------------- | --------------- |",
"| ${3:Item1.1} | ${4:Item2.1} |",
"| ${5:Item1.2} | ${6:Item2.2} |",
"${0}"
],
"description": "Insert table with 3 rows and 2 columns. First row is heading."
},
"Insert 4x2 table": {
"prefix": "4x2table",
"body": [
"| ${1:Column1} | ${2:Column2} |",
"|--------------- | --------------- |",
"| ${3:Item1.1} | ${4:Item2.1} |",
"| ${5:Item1.2} | ${6:Item2.2} |",
"| ${7:Item1.3} | ${8:Item2.3} |",
"${0}"
],
"description": "Insert table with 4 rows and 2 columns. First row is heading."
},
"Insert 5x2 table": {
"prefix": "5x2table",
"body": [
"| ${1:Column1} | ${2:Column2} |",
"|--------------- | --------------- |",
"| ${3:Item1.1} | ${4:Item2.1} |",
"| ${4:Item1.2} | ${5:Item2.2} |",
"| ${6:Item1.3} | ${7:Item2.3} |",
"| ${8:Item1.4} | ${9:Item2.4} |",
"${0}"
],
"description": "Insert table with 5 rows and 2 columns. First row is heading."
},
"Insert 2x3 table": {
"prefix": "2x3table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} |",
"|---------------- | --------------- | --------------- |",
"| ${4:Item1.1} | ${5:Item2.1} | ${6:Item3.1} |",
"${0}"
],
"description": "Insert table with 2 rows and 3 columns. First row is heading."
},
"Insert 3x3 table": {
"prefix": "3x3table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} |",
"|---------------- | --------------- | --------------- |",
"| ${4:Item1.1} | ${5:Item2.1} | ${6:Item3.1} |",
"| ${7:Item1.2} | ${8:Item2.2} | ${9:Item3.2} |",
"${0}"
],
"description": "Insert table with 3 rows and 3 columns. First row is heading."
},
"Insert 4x3 table": {
"prefix": "4x3table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} |",
"|---------------- | --------------- | --------------- |",
"| ${4:Item1.1} | ${5:Item2.1} | ${6:Item3.1} |",
"| ${7:Item1.2} | ${8:Item2.2} | ${9:Item3.2} |",
"| ${10:Item1.3} | ${11:Item2.3} | ${12:Item3.3} |",
"${0}"
],
"description": "Insert table with 4 rows and 3 columns. First row is heading."
},
"Insert 5x3 table": {
"prefix": "5x3table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} |",
"|---------------- | --------------- | --------------- |",
"| ${4:Item1.1} | ${5:Item2.1} | ${6:Item3.1} |",
"| ${7:Item1.2} | ${8:Item2.2} | ${9:Item3.2} |",
"| ${10:Item1.3} | ${11:Item2.3} | ${12:Item3.3} |",
"| ${13:Item1.4} | ${14:Item2.4} | ${15:Item3.4} |",
"${0}"
],
"description": "Insert table with 5 rows and 3 columns. First row is heading."
},
"Insert 2x4 table": {
"prefix": "2x4table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} | ${4:Column4} |",
"|---------------- | --------------- | --------------- | --------------- |",
"| ${5:Item1.1} | ${6:Item2.1} | ${7:Item3.1} | ${8:Item4.1} |",
"${0}"
],
"description": "Insert table with 2 rows and 4 columns. First row is heading."
},
"Insert 3x4 table": {
"prefix": "3x4table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} | ${4:Column4} |",
"|---------------- | --------------- | --------------- | --------------- |",
"| ${5:Item1.1} | ${6:Item2.1} | ${7:Item3.1} | ${8:Item4.1} |",
"| ${9:Item1.2} | ${10:Item2.2} | ${11:Item3.2} | ${12:Item4.2} |",
"${0}"
],
"description": "Insert table with 3 rows and 4 columns. First row is heading."
},
"Insert 4x4 table": {
"prefix": "4x4table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} | ${4:Column4} |",
"|---------------- | --------------- | --------------- | --------------- |",
"| ${5:Item1.1} | ${6:Item2.1} | ${7:Item3.1} | ${8:Item4.1} |",
"| ${9:Item1.2} | ${10:Item2.2} | ${11:Item3.2} | ${12:Item4.2} |",
"| ${13:Item1.3} | ${14:Item2.3} | ${15:Item3.3} | ${16:Item4.3} |",
"${0}"
],
"description": "Insert table with 4 rows and 4 columns. First row is heading."
},
"Insert 5x4 table": {
"prefix": "5x4table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} | ${4:Column4} |",
"|---------------- | --------------- | --------------- | --------------- |",
"| ${5:Item1.1} | ${6:Item2.1} | ${7:Item3.1} | ${8:Item4.1} |",
"| ${9:Item1.2} | ${10:Item2.2} | ${11:Item3.2} | ${12:Item4.2} |",
"| ${13:Item1.3} | ${14:Item2.3} | ${15:Item3.3} | ${16:Item4.3} |",
"| ${17:Item1.4} | ${18:Item2.4} | ${19:Item3.4} | ${20:Item4.4} |",
"${0}"
],
"description": "Insert table with 5 rows and 4 columns. First row is heading."
},
"Insert 2x5 table": {
"prefix": "2x5table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} | ${4:Column4} | ${5:Column5} |",
"|---------------- | --------------- | --------------- | --------------- | --------------- |",
"| ${6:Item1.1} | ${7:Item2.1} | ${8:Item3.1} | ${9:Item4.1} | ${10:Item5.1} |",
"${0}"
],
"description": "Insert table with 2 rows and 5 columns. First row is heading."
},
"Insert 3x5 table": {
"prefix": "3x5table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} | ${4:Column4} | ${5:Column5} |",
"|---------------- | --------------- | --------------- | --------------- | --------------- |",
"| ${6:Item1.1} | ${7:Item2.1} | ${8:Item3.1} | ${9:Item4.1} | ${10:Item5.1} |",
"| ${11:Item1.2} | ${12:Item2.2} | ${13:Item3.2} | ${14:Item4.2} | ${15:Item5.2} |",
"${0}"
],
"description": "Insert table with 3 rows and 5 columns. First row is heading."
},
"Insert 4x5 table": {
"prefix": "4x5table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} | ${4:Column4} | ${5:Column5} |",
"|---------------- | --------------- | --------------- | --------------- | --------------- |",
"| ${6:Item1.1} | ${7:Item2.1} | ${8:Item3.1} | ${9:Item4.1} | ${10:Item5.1} |",
"| ${11:Item1.2} | ${12:Item2.2} | ${13:Item3.2} | ${14:Item4.2} | ${15:Item5.2} |",
"| ${16:Item1.3} | ${17:Item2.3} | ${18:Item3.3} | ${19:Item4.3} | ${20:Item5.3} |",
"${0}"
],
"description": "Insert table with 4 rows and 5 columns. First row is heading."
},
"Insert 5x5 table": {
"prefix": "5x5table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} | ${4:Column4} | ${5:Column5} |",
"|---------------- | --------------- | --------------- | --------------- | --------------- |",
"| ${6:Item1.1} | ${7:Item2.1} | ${8:Item3.1} | ${9:Item4.1} | ${10:Item5.1} |",
"| ${11:Item1.2} | ${12:Item2.2} | ${13:Item3.2} | ${14:Item4.2} | ${15:Item5.2} |",
"| ${16:Item1.3} | ${17:Item2.3} | ${18:Item3.3} | ${19:Item4.3} | ${20:Item5.3} |",
"| ${21:Item1.4} | ${22:Item2.4} | ${23:Item3.4} | ${24:Item4.4} | ${25:Item5.4} |",
"${0}"
],
"description": "Insert table with 5 rows and 5 columns. First row is heading."
}
}

Bestand weergeven

@@ -1,137 +0,0 @@
{
"\\begin{}…\\end{}": {
"prefix": "begin",
"body": [
"\\\\begin{${1:env}}",
"\t$0",
"\\\\end{${1:env}}"
],
"description": "Begin - End"
},
"Display Math — \\[ … \\]": {
"prefix": "$$",
"body": [
"\\[",
"\t$TM_SELECTED_TEXT$1",
"\\]"
],
"description": "Display Math"
},
"Itemize": {
"prefix": "item",
"body": [
"\\\\begin{itemize}",
"\t\\item $0",
"\\\\end{itemize}"
],
"description": "Itemize"
},
"Enumerate": {
"prefix": "enum",
"body": [
"\\\\begin{enumerate}",
"\t\\item $0",
"\\\\end{enumerate}"
],
"description": "enumerate"
},
"Task": {
"prefix": "task",
"body": [
"\\\\begin{tasks}(${1:2})",
"\t\\task $0",
"\\\\end{tasks}"
],
"description": "enumerate"
},
"center": {
"prefix": "center",
"body": [
"\\\\begin{center}",
"\t$0",
"\\\\end{center}"
],
"description": "center"
},
"tabular": {
"prefix": "tabular",
"body": [
"\\\\begin{tabular}{$1}",
"\t\\\\hline",
"\t$0",
"\t\\\\hline",
"\\\\end{tabular}"
],
"description": "tabular"
},
"minipage": {
"prefix": "minipage",
"body": [
"\\\\begin{minipage}{${1:0.5}${2:\\\\linewidth}}",
"\t$0",
"\\\\end{minipage}"
],
"description": "minipage"
},
"multicols": {
"prefix": "multicols",
"body": [
"\\\\begin{multicols}{${1:2}}",
"\t$0",
"\\\\end{multicols}"
],
"description": "multicols"
},
"image": {
"prefix": "image",
"body": [
"\\\\includegraphics[scale=${1:1}]{${2:./fig/}}",
"$0"
],
"description": "exercise xsim"
},
"exercise": {
"prefix": "exercise",
"body": [
"\\\\begin{exercise}[subtitle={${1:subtitle}}, step={${2:1}}, origin={${3:Création}}, topics={${4:chapitre}}, tags={${5:tags}}, mode={${5:groupe}}]",
"\t$0",
"\\\\end{exercise}"
],
"description": "exercise xsim"
},
"AMC_multquestion": {
"prefix": "multquestion",
"body": [
"\\\\element{${1:group}}{",
"\\\\begin{questionmult}{${2:name}}\\\\bareme{b=0.5,m=0.5,p=0}",
"\t$3",
"\t\\\\begin{reponseshoriz}",
"\t\t\\\\bonne{$4}",
"\t\t\\\\mauvaise{$5}",
"\t\\\\end{reponseshoriz}",
"\\\\end{questionmult}",
"}"
],
"description": "Question simple pour AMC"
},
"AMC_question": {
"prefix": "question",
"body": [
"\\\\element{${1:group}}{",
"\\\\begin{question}{${2:name}}",
"\t$3",
"\t\\\\begin{reponseshoriz}",
"\t\t\\\\bonne{$4}",
"\t\t\\\\mauvaise{$5}",
"\t\\\\end{reponseshoriz}",
"\\\\end{question}",
"}"
],
"description": "Question multiple pour AMC"
}
}

Bestand weergeven

@@ -1,3 +1,8 @@
profile maison2 {
output eDP-1 disable
output "Dell Inc. DELL E2216H 2XT766B1AVTI" position 0,0 transform 90 mode 1920x1080
output "Samsung Electric Company LS27A600U HNMR502540" position 1080,240 mode 2560x1440
}
profile maison {
output eDP-1 disable
output "Philips Consumer Electronics Company PHL 223V5 ZV01622003292" position 0,0 transform 90 mode 1920x1080

Bestand weergeven

@@ -92,7 +92,8 @@ input type:pointer {
# Start your launcher
bindsym $mod+d exec $menu
bindsym $mod+p exec rofi-pass
# bindsym $mod+p exec rofi-pass
bindsym $mod+p exec tessen
bindsym Print exec ~/.local/bin/sway/rofi_screenshot.sh 2> ~/tmp/rofi_debug.log
# Drag floating windows by holding down $mod and left mouse button.
@@ -135,13 +136,15 @@ bindsym $mod+Shift+Right move right
#
# Workspaces:
#
set $ws1 1:
set $ws2 2:
set $ws1 1: 󰖟
set $ws2 2:
set $ws3 3: 
set $ws4 4:
set $ws5 5:
set $ws6 6:
set $ws7 7: 
set $ws4 4:
set $ws5 5:
set $ws6 6:
set $ws7 7: 
set $ws8 8: 󰖟
set $ws9 9: 
bindsym $mod+ampersand workspace $ws1
bindsym $mod+eacute workspace $ws2
@@ -150,8 +153,8 @@ bindsym $mod+apostrophe workspace $ws4
bindsym $mod+parenleft workspace $ws5
bindsym $mod+minus workspace $ws6
bindsym $mod+egrave workspace $ws7
bindsym $mod+underscore workspace 8
bindsym $mod+ccedilla workspace 9
bindsym $mod+underscore workspace $ws8
bindsym $mod+ccedilla workspace $ws9
bindsym $mod+1 move container to workspace $ws1
bindsym $mod+2 move container to workspace $ws2
@@ -160,8 +163,8 @@ bindsym $mod+4 move container to workspace $ws4
bindsym $mod+5 move container to workspace $ws5
bindsym $mod+6 move container to workspace $ws6
bindsym $mod+7 move container to workspace $ws7
bindsym $mod+8 move container to workspace 8
bindsym $mod+9 move container to workspace 9
bindsym $mod+8 move container to workspace $ws8
bindsym $mod+9 move container to workspace $ws9
bindsym $mod+Ctrl+greater move workspace to output right
@@ -227,6 +230,12 @@ mode "resize" {
}
bindsym $mod+r mode "resize"
#
## Gesture
#
bindgesture swipe:right workspace prev
bindgesture swipe:left workspace next
#
# Audio
#
@@ -261,5 +270,5 @@ bar {
swaybar_command waybar
}
# include /etc/sway/config.d/*
include /etc/sway/config.d/*
include ~/.config/sway/config.d/*

Bestand weergeven

@@ -1,7 +1,3 @@
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK
exec hash dbus-update-activation-environment 2>/dev/null && \
dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
exec_always blueman-applet
exec_always /usr/bin/nm-applet --indicator
exec_always nextcloud
@@ -18,4 +14,4 @@ exec_always "systemctl --user import-environment; systemctl --user start sway-se
exec swaymsg "workspace $ws1; exec firefox;"
exec swaymsg "workspace $ws2; exec thunderbird;"
exec swaymsg "workspace scratchpad; exec $term -e 'mocp';"

Bestand weergeven

@@ -2,8 +2,8 @@
"layer": "top",
"output": "eDP-1",
"height": 30,
"modules-left": ["sway/workspaces", "sway/mode"],
"modules-center": ["sway/window"],
"modules-left": ["sway/mode","sway/window" ],
"modules-center": ["sway/workspaces" ],
"modules-right": ["pulseaudio", "battery", "tray", "clock"],
"sway/window": {
"max-length": 50

Bestand weergeven

@@ -1,70 +1,91 @@
* {
border: none;
border-radius: 0;
font-family: Droid Nerd Font Mono;
font-size: 14px;
min-height: 0;
border: none;
border-radius: 0;
font-family: Droid Nerd Font Mono;
font-size: 14px;
min-height: 0;
}
@import "gruvbox.css";
window#waybar {
background: @background;
color: @white_b;
background: @background;
color: @foreground;
}
#workspaces button {
padding: 0 2px;
background: transparent;
color: @white_b;
border-bottom: 3px solid transparent;
padding: 0 2px;
background: transparent;
color: @foreground;
border-bottom: 3px solid transparent;
}
#workspaces button.focused {
background: @orange;
border-bottom: 3px solid @orange_b;
#workspaces button.active {
background: @orange_b;
}
#mode, #clock, #battery {
padding: 0 10px;
margin: 0 5px;
#workspaces button.visible {
background: @orange;
border-radius: 2px;
border-top: 3px solid @orange_b;
}
#mode,
#clock,
#battery {
padding: 0 10px;
margin: 0 5px;
}
#mode {
background: @red;
border-bottom: 3px solid @white_b;
background: @red;
border-bottom: 3px solid @foreground;
}
#window {
padding: 0 10px;
}
#clock {
color: @white_b;
color: @foreground;
}
#battery {
color: @white_b;
color: @foreground;
}
#battery.charging {
color: @gree;
color: @green;
}
@keyframes blink {
to {
background-color: @white_b;
color: @background;
}
to {
background-color: @foreground;
color: @background;
}
}
#idle_inhibitor, #pulseaudio, #custom-openvpn, #network, #cpu, #memory, #temperature, #backlight, #battery, #clock, #tray {
padding: 0 6px;
margin: 0 3px;
#idle_inhibitor,
#pulseaudio,
#custom-openvpn,
#network,
#cpu,
#memory,
#temperature,
#backlight,
#battery,
#clock,
#tray {
padding: 0 6px;
margin: 0 3px;
}
#battery.warning:not(.charging) {
background: @red;
color: @white_b;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
background: @red;
color: @foreground;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}

Bestand weergeven

@@ -9,6 +9,7 @@ unbind C-b
set -g prefix C-space
bind C-space send-prefix
set-option -g status-position top
# Start windows and panes at 1, not 0
set -g base-index 1
set -g pane-base-index 1