Compare commits

...

10 commits

Author SHA1 Message Date
5d9b582030
Update neovim 2024-05-25 01:40:59 +02:00
8443407f0d
Update neovim config 2024-05-25 00:10:39 +02:00
6a5326d03d
Add templating 2024-05-25 00:04:46 +02:00
93e3f58970
Add path variable 2024-05-24 23:53:33 +02:00
93704c7c85
More plugins 2024-04-15 07:42:08 +02:00
bb10f99a16
Re-add new neovim config (without documentation for now) 2024-04-14 00:48:20 +02:00
c71bcb12ae
Remove vim configuration for now 2024-04-13 16:08:28 +02:00
b86f6ad550
Major vim update 2024-04-05 02:25:01 +02:00
a12abc27f7
Update nvim to display line number 2023-08-21 19:34:17 +02:00
6fd2b49483
Update sway config & Add config
- Add process manager with sway
- Add oh-my-zsh config
- add gtk config
- Add env
2023-08-21 19:29:19 +02:00
1738 changed files with 166821 additions and 950 deletions

View file

@ -0,0 +1,7 @@
import = [ "~/.config/alacritty/alacritty.toml" ]
[window]
title = "menu"
[window.dimensions]
columns = 60
lines = 30

View file

@ -0,0 +1,7 @@
import = [ "~/.config/alacritty/alacritty.toml" ]
[window]
title = "menu"
[window.dimensions]
columns = 30
lines = 15

View file

@ -0,0 +1 @@
SSH_AUTH_SOCK="${XDG_RUNTIME_DIR}/ssh-agent.socket"

View file

@ -1,66 +1,11 @@
--[[
Initialization file
This file only loads others to improve readability of settings
File organization:
legend:
>name : folder
>name : sub-folder
name : file
(name) : comment
>lua
(contains all configuration files)
>display
(ui and graphical settings)
cmd.lua
(ui settings for the cmd)
editor.lua
(ui settings for the editor)
graphic.lua
(general graphic settings)
init.lua
(load other files)
>general
(settings not in other category)
cmd.lua
(cmd settings)
editor.lua
(editor settings)
indent.lua
(tab and indent settings)
init.lua
(load other files)
lang.lua
(lang settings)
>mapping
(key mapping settings)
init.lua
(load other files)
mapleader.lua
(define mapleader key)
movement.lua
(movement linked mapping)
maintenance.lua
(maintenance and configuration change linked mapping)
>plugins
(plugins settings)
init.lua
(load other files)
loader.lua
(install and load plugins and plugins settings)
>{name of a plugin}
({name of a plugin} settings)
init.lua
(load other files)
--]]
require('display') -- ui and graphical settings
require('general') -- settings not in other category
require('mapping') -- key mapping settings
require('plugins') -- plugins settings
require('variables')
require('plugins')
require('mapping')
require('display')
require('provider')
require('utility')

View file

@ -0,0 +1,30 @@
{
"LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" },
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"dashboard-nvim": { "branch": "master", "commit": "5182c09ac8085dc73b78ad0ea9f5479c9a866fc4" },
"friendly-snippets": { "branch": "main", "commit": "dd2fd1281d4b22e7b4a5bfafa3e142d958e251f2" },
"fzf-lua": { "branch": "main", "commit": "0c4458b0f0d12970e54c8cd7c5ad60676edcf764" },
"lazy.nvim": { "branch": "main", "commit": "8f19915175395680808de529e4220da8dafc0759" },
"mini.nvim": { "branch": "main", "commit": "aa81e45b5977c1db3680c5ef4c016276cf1c7645" },
"monokai.nvim": { "branch": "master", "commit": "b8bd44d5796503173627d7a1fc51f77ec3a08a63" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" },
"noice.nvim": { "branch": "main", "commit": "f119045f38792ad5311e5f9be7a879e4c1a95fe0" },
"nui.nvim": { "branch": "main", "commit": "b1b3dcd6ed8f355c78bad3d395ff645be5f8b6ae" },
"nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" },
"nvim-lspconfig": { "branch": "master", "commit": "b972e7154bc94ab4ecdbb38c8edbccac36f83996" },
"nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" },
"nvim-treesitter": { "branch": "master", "commit": "6d56c5f404d3b116bab167bc03993cfb0a83f8aa" },
"nvim-treesitter-context": { "branch": "master", "commit": "f62bfe19e0fbc13ae95649dfb3cf22f4ff85b683" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "3557e41418b4a6c5b85d5d64abe94c9c50fa9b14" },
"nvim-ts-autotag": { "branch": "main", "commit": "8ae54b90e36ef1fc5267214b30c2cbff71525fe4" },
"nvim-web-devicons": { "branch": "master", "commit": "e37bb1feee9e7320c76050a55443fa843b4b6f83" },
"persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" },
"plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" },
"trouble.nvim": { "branch": "dev", "commit": "e2185bf6e63ef9bd75f1819f43846e2b0f10953b" },
"vim-fugitive": { "branch": "master", "commit": "4f59455d2388e113bd510e85b310d15b9228ca0d" },
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }
}

View file

@ -1,3 +0,0 @@
--[[
Loads ui settings for the neovim's command-line
--]]

View file

@ -1,10 +1,26 @@
--[[
Loads ui settings for the editor
--]]
vim.opt.relativenumber = true -- display relative number from the line you are
vim.opt.wrap = false -- do not break word from line to other
vim.opt.emoji = false -- do not display emoji with specific width
-- cursor option
vim.opt.cursorline = true -- display line you are on
vim.opt.cursorcolumn = true -- display column you are on
vim.opt.relativenumber = true
vim.opt.number = true
vim.opt.wrap = false
vim.opt.emoji = false
vim.opt.textwidth = 72
vim.opt.cursorline = true
vim.opt.cursorcolumn = true
vim.opt.formatoptions:append({ t , 1 , o , n })
vim.api.nvim_create_autocmd(
{'Filetype'},
{
pattern = {
'vim' ,
'lua' ,
'markdown' ,
'python' ,
'javascript',
'rust' ,
} ,
command = ':setlocal formatoptions+=t1on',
}
)
require('monokai').setup {}

View file

@ -1,7 +0,0 @@
--[[
Loads general graphic settings
--]]
vim.opt.guifont = "mononoki NFM:h11" -- set font
vim.opt.background = dark -- set theme
vim.cmd( 'silent! colorscheme monokai_pro') -- set colorscheme

View file

@ -0,0 +1,2 @@
vim.opt.guifont = 'mononoki NFM:h11'
vim.opt.background = dark

View file

@ -0,0 +1,3 @@
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
vim.opt.smartindent = true

View file

@ -1,13 +1,5 @@
--[[
Loads ui and graphical settings
This file only loads others
To have a full display of the configuration structure, see the root init.lua
--]]
require('display.cmd') -- ui settings for the cmd
require('display.editor') -- ui settings for the editor
require('display.graphic') -- general graphic settings
require('display.editor')
require('display.gui')
require('display.indent')

View file

@ -1,26 +0,0 @@
{
"workspace.library": [
"/home/linarphy/.config/nvim",
"/etc/xdg/nvim",
"/home/linarphy/.local/share/nvim/site",
"/home/linarphy/.local/share/nvim/site/pack/packer/start/fzf",
"/home/linarphy/.local/share/nvim/site/pack/packer/start/fzf-lua",
"/home/linarphy/.local/share/nvim/site/pack/packer/start/gv.vim",
"/home/linarphy/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim",
"/home/linarphy/.local/share/nvim/site/pack/packer/start/monokai.nvim",
"/home/linarphy/.local/share/nvim/site/pack/packer/start/nvim-fzf",
"/home/linarphy/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
"/home/linarphy/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
"/home/linarphy/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
"/home/linarphy/.local/share/nvim/site/pack/packer/start/packer.nvim",
"/home/linarphy/.local/share/nvim/site/pack/packer/start/vim-easy-align",
"/home/linarphy/.local/share/nvim/site/pack/packer/start/vim-fugitive",
"/home/linarphy/.local/share/nvim/site/pack/packer/start/vim-peekaboo",
"/usr/share/nvim/site",
"/usr/share/nvim/site/pack/packer/start/packer.nvim",
"/usr/share/nvim/runtime",
"/usr/lib/nvim",
"/usr/share/vim/vimfiles",
"${3rd}/luassert/library"
]
}

View file

@ -1,7 +0,0 @@
--[[
Loads cmd settings
--]]
vim.opt.confirm = true -- ask confirmation before leaving an unsaved file
vim.opt.ignorecase = true -- ignore case in search pattern
vim.opt.smartcase = true -- stop ignoring case in search pattern if upper case

View file

@ -1,16 +0,0 @@
--[[
Loads editor settings
--]]
vim.opt.textwidth = 72 -- maximum width of text (80 is a standard, but with
-- diff marker and email quoting, 72 is safer)
-- apply it to each filetype
vim.opt.formatoptions:append({ t, 1 })
vim.api.nvim_create_autocmd(
{"Filetype"},
{
pattern = {"*"},
command = ":setlocal formatoptions+=t1"
}
)

View file

@ -1,7 +0,0 @@
--[[
Loads tab and indent settings
--]]
vim.opt.tabstop = 4 -- number of space equivalent to a tab
vim.opt.shiftwidth = 4 -- number of space to use for indenting
vim.opt.smartindent = true -- can auto insert indent

View file

@ -1,15 +0,0 @@
--[[
Loads settings not in others category
This file only loads others
To have a full display of the configuration structure, see the root init.lua
--]]
require('general.cmd') -- cmd settings
require('general.editor') -- editor settings
require('general.indent') -- tab and indent settings
require('general.lang') -- lang settings

View file

@ -1,5 +0,0 @@
--[[
Loads lang settings
--]]
vim.opt.spell = true -- enable spell checking

View file

@ -0,0 +1,24 @@
vim.keymap.set(
'n' ,
'<Leader>pfr' ,
'<cmd>lua require(\'fzf-lua\').oldfiles()<CR>',
{
desc = 'List recent files'
}
)
vim.keymap.set(
'n' ,
'<Leader>pff' ,
'<cmd>lua require(\'fzf-lua\').files()<CR>',
{
desc = 'Search files in current folder'
}
)
vim.keymap.set(
'n' ,
'<Leader>pfw' ,
'<cmd>lua require(\'fzf-lua\').grep()<CR>',
{
desc = 'Search word in files'
}
)

View file

@ -1,14 +1,15 @@
--[[
Loads key mapping settings
This file only loads others
To have a full display of the configuration structure, see the root init.lua
--]]
require('mapping.mapleader') -- define mapleader key
require('mapping.movement') -- movement linked mapping
require('mapping.maintenance') -- maintenance and configuration change linked
-- mapping
require('mapping.maintenance')
require('mapping.movement')
require('mapping.lsp')
require('mapping.nvim-cmp')
require('mapping.persistence')
require('mapping.fzf-lua')
require('mapping.neo-tree')
require('mapping.missing_key')

View file

@ -0,0 +1,32 @@
vim.keymap.set(
'n' ,
'<Leader>ple' ,
vim.diagnostic.open_float,
{
desc = 'Open float window for diagnostic'
}
)
vim.keymap.set(
'n' ,
'<Leader>pln' ,
vim.diagnostic.goto_prev,
{
desc = 'Go to previous issue'
}
)
vim.keymap.set(
'n' ,
'<Leader>pl?' ,
vim.diagnostic.goto_next,
{
desc = 'Go to next issue'
}
)
vim.keymap.set(
'n' ,
'<Leader>plq' ,
vim.diagnostic.setloclist,
{
desc = 'Open list of issues for diagnostic'
}
)

View file

@ -1,8 +1,17 @@
--[[
Loads maintenance and configuration change linked mapping
--]]
local vimrc = '~/.config/nvim/init.lua' -- path to
-- init.lua /!\ to change for each OS /!\
vim.keymap.set('n', '<Leader>ie', ':tabedit ' .. vimrc .. '<CR>') -- edit it
vim.keymap.set('n', '<Leader>is', ':source ' .. vimrc .. '<CR>') -- source it
vim.keymap.set(
'n' ,
'<Leader>ie' ,
':tabedit ' .. require('variables.core').config .. '<CR>',
{
desc = 'Edit current configuration in a new tab'
}
)
vim.keymap.set(
'n' ,
'<Leader>is' ,
':source ' .. require('variables.core').config .. 'init.lua<CR>',
{
desc = 'Try to reload current configuration'
}
)

View file

@ -1,5 +0,0 @@
--[[
Defines mapleader key
--]]
vim.g.mapleader = ','

View file

@ -0,0 +1,24 @@
vim.keymap.set(
{
'n',
'v',
'i',
} ,
'<Leader>c',
'<' ,
{
desc = '< for pc102 layout 😬'
}
)
vim.keymap.set(
{
'n',
'v',
'i',
} ,
'<Leader>C',
'>' ,
{
desc = '> for pc102 layout 😬'
}
)

View file

@ -1,13 +1,49 @@
--[[
Loads movement linked mapping
--]]
-- moves through buffer with only one key press
vim.keymap.set('n', '<C-h>', '<C-w>h')
vim.keymap.set('n', '<C-j>', '<C-w>j')
vim.keymap.set('n', '<C-k>', '<C-w>k')
vim.keymap.set('n', '<C-l>', '<C-w>l')
-- jump to tag under the cursor with an azerty keyboard
vim.keymap.set('n', '<Leader>c', '<C-]>')
vim.keymap.set('i', '<Leader>c', '<C-]>')
vim.keymap.set(
'n' ,
'<C-' .. require('variables.mapping').up .. '>',
'<C-w>' .. require('variables.mapping').up ,
{
desc = 'Move to the up window'
}
)
vim.keymap.set(
'n' ,
'<C-' .. require('variables.mapping').down .. '>',
'<C-w>' .. require('variables.mapping').down ,
{
desc = 'Move to the down window'
}
)
vim.keymap.set(
'n' ,
'<C-' .. require('variables.mapping').left .. '>',
'<C-w>' .. require('variables.mapping').left ,
{
desc = 'Move to the left window'
}
)
vim.keymap.set(
'n' ,
'<C-' .. require('variables.mapping').right .. '>',
'<C-w>' .. require('variables.mapping').right ,
{
desc = 'Move to the right window'
}
)
vim.keymap.set(
'n' ,
'<Leader>jt',
'<C-]>' ,
{
desc = 'Jump to tag under the cursor'
}
)
vim.keymap.set(
'n' ,
'<Leader>jt',
'<C-]>' ,
{
desc = 'Jump to tag under the cursor'
}
)

View file

@ -0,0 +1,8 @@
vim.keymap.set(
'n',
'<Leader>pe',
':Neotree<CR>',
{
desc = 'Open file explorer in a side buffer'
}
)

View file

@ -0,0 +1,15 @@
local cmp = require('cmp')
local config = cmp.get_config()
config.mapping = {
['<leader>fj'] = cmp.mapping.select_next_item(),
['<leader>fk'] = cmp.mapping.select_prev_item(),
['<leader>f<space>'] = cmp.mapping.complete() ,
['<leader>fe'] = cmp.mapping.close() ,
['<CR>'] = cmp.mapping.confirm({
behavior = cmp.ConfirmBehavior.Insert,
select = true ,
}) ,
}
cmp.setup(config)

View file

@ -0,0 +1,24 @@
vim.keymap.set(
'n' ,
'<Leader>psl' ,
'<cmd>lua require(\'persistence\').load({ last = true })<CR>',
{
desc = 'Restore last session'
}
)
vim.keymap.set(
'n' ,
'<Leader>psd' ,
'<cmd>lua require(\'persistence\').load()<CR>',
{
desc = 'Restore last session for the current directory'
}
)
vim.keymap.set(
'n' ,
'<Leader>pss' ,
'<cmd>lua require(\'persistence\').stop()<CR>',
{
desc = 'Do not save this session on neovim shutdown'
}
)

View file

@ -0,0 +1,17 @@
return {
'L3MON4D3/LuaSnip' ,
version = 'v2.*' ,
build = 'make install_jsregexp',
dependencies = {
{
'rafamadriz/friendly-snippets',
config = function()
require('luasnip.loaders.from_vscode').lazy_load()
end,
},
{
'saadparwaiz1/cmp_luasnip',
},
},
}

View file

@ -0,0 +1,84 @@
return {
'glepnir/dashboard-nvim',
event = 'VimEnter' ,
dependencies = {
'nvim-tree/nvim-web-devicons'
} ,
config = function()
require('dashboard').setup({
theme = 'doom',
config = {
header = {
'',
'MMMMMMMMMWkdXMMMMMMMMMMMMMWXOd:\'.. ..\':oOXWMMMMMMMMMMMMMNxkWMMMMMMMMM',
'MMMMMMMMMWo.;kNMMMMMMMMNOd:\'. .\':oONMMMMMMMMWO:.lWMMMMMMMMM',
'MMMMMMMMMWo ;kNMMMNkc\' \'ckXMMMWO:. lWMMMMMMMMM',
'MMMMMMMMMWo .;kKd\' \'oKO:. lWMMMMMMMMM',
'MMMMMMMMMWo .xO:. :Ox\' lWMMMMMMMMM',
'MMMMMMMMMWo .oKWMNk;. ;kNMMXd\' lWMMMMMMMMM',
'MMMMMMMMMWo..oKWMMMMMNk;. ;kNMMMMMMXd\'.lWMMMMMMMMM',
'MMMMMMMMMWOdKWMMMMMMMMMNk;. ;kNMMMMMMMMMWXxOWMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. .;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM',
'XWMMMMMMMW0doooooooooooooooooooooooddddooooooooooooooooooooooooo0WMMMMMMMMX',
',oKWMMMMMWd. ;kNMNk; oWMMMMMMXo\'',
'. .oKWMMMMk. ;kNMMMMMNk; .kMMMMMXd\' ',
'\' .oXWMMX; ;kNMMMMMMMMMNk; ;KMMWXd\' .',
'c .oXWWx. ;kNMMMMMMMMMMMMMNk; .xWWXd\' :',
'O. .oXNo ;kNMMMMMMMMMMMMMMMMMNk; lXXd\' .k',
'No .oOc ;kNMMMMMMMMMMMMMMMMMMMMMNk; cOd\' lN',
'MX: \'c;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMNk; .;c\' ;KM',
'MM0; ... ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; ... ,0MM',
'MMM0; .:kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk:. ,0MMM',
'MMMMKc ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; :KMMMM',
'MMMMMNd. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; .oXMMMMM',
'MMMMMMW0:. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; ;OWMMMMMM',
'MMMMMMMMNl\'lXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXl\'lXMMMMMMMM',
'',
},
center = {
{
icon = '' ,
desc = 'Fichiers récents',
key = 'o',
keymap = ', p f r',
action = 'lua require(\'fzf-lua\').oldfiles()',
},
{
icon = '',
desc = 'Rechercher un fichier',
key = 'r',
keymap = ', p f f',
action = 'lua require(\'fzf-lua\').files()',
},
{
icon = '',
desc = 'Rechercher un mot',
key = 'm',
keymap = ', p f w',
action = 'lua require(\'fzf-lua\').grep()',
},
{
icon = '',
desc = 'Ouvrir des fichiers de configuration',
key = 'c',
keymap = ', i e',
action = 'lua vim.cmd( \'e ~/.config/nvim/init.lua\')',
},
{
icon = '',
desc = 'Restaurer la dernière session',
key = 's',
keymap = ', p s l',
action = 'lua require(\'persistence\').load({ last = true })',
},
},
footer = {
},
} ,
})
end
}

View file

@ -1,10 +0,0 @@
--[[
Loads settings for dashboard-nvim plugin
This file only loads others
To have a full display of the configuration structure, see the root
init.lua
--]]
require('plugins.dashboard-nvim.menu') -- loads menu settings

View file

@ -1,52 +0,0 @@
--[[
Loads menu settings
--]]
local db = require('dashboard')
db.custom_header = {
'',
'MMMMMMMMMWkdXMMMMMMMMMMMMMWXOd:\'.. ..\':oOXWMMMMMMMMMMMMMNxkWMMMMMMMMM',
'MMMMMMMMMWo.;kNMMMMMMMMNOd:\'. .\':oONMMMMMMMMWO:.lWMMMMMMMMM',
'MMMMMMMMMWo ;kNMMMNkc\' \'ckXMMMWO:. lWMMMMMMMMM',
'MMMMMMMMMWo .;kKd\' \'oKO:. lWMMMMMMMMM',
'MMMMMMMMMWo .xO:. :Ox\' lWMMMMMMMMM',
'MMMMMMMMMWo .oKWMNk;. ;kNMMXd\' lWMMMMMMMMM',
'MMMMMMMMMWo..oKWMMMMMNk;. ;kNMMMMMMXd\'.lWMMMMMMMMM',
'MMMMMMMMMWOdKWMMMMMMMMMNk;. ;kNMMMMMMMMMWXxOWMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. .;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM',
'XWMMMMMMMW0doooooooooooooooooooooooddddooooooooooooooooooooooooo0WMMMMMMMMX',
',oKWMMMMMWd. ;kNMNk; oWMMMMMMXo\'',
'. .oKWMMMMk. ;kNMMMMMNk; .kMMMMMXd\' ',
'\' .oXWMMX; ;kNMMMMMMMMMNk; ;KMMWXd\' .',
'c .oXWWx. ;kNMMMMMMMMMMMMMNk; .xWWXd\' :',
'O. .oXNo ;kNMMMMMMMMMMMMMMMMMNk; lXXd\' .k',
'No .oOc ;kNMMMMMMMMMMMMMMMMMMMMMNk; cOd\' lN',
'MX: \'c;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMNk; .;c\' ;KM',
'MM0; ... ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; ... ,0MM',
'MMM0; .:kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk:. ,0MMM',
'MMMMKc ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; :KMMMM',
'MMMMMNd. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; .oXMMMMM',
'MMMMMMW0:. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; ;OWMMMMMM',
'MMMMMMMMNl\'lXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXl\'lXMMMMMMMM',
'',
}
db.custom_center = {
{
icon = '',
desc = ' load previous session ',
shortcut = ' , p s l',
action = 'SessionLoad'
},
{
icon = '',
desc = ' recently opened file ',
shortcut = ' , f f o',
action = 'DashboardFindHistory'
}
}

View file

@ -0,0 +1,9 @@
return {
'ibhagwan/fzf-lua',
dependencies = {
'nvim-tree/nvim-web-devicons'
} ,
config = function()
require('fzf-lua').setup({})
end
}

View file

@ -1,10 +0,0 @@
--[[
Loads settings for fzf-lua plugin
This file only loads others
To have a full display of the configuration structure, see the root
init.lua
--]]
require('plugins.fzf-lua.mapping') -- load key shortcut

View file

@ -1,24 +0,0 @@
--[[
Loads key shortcut for the fzf-lua plugin
--]]
vim.keymap.set(
'n' ,
'<Leader>fr' ,
'<cmd>lua require(\'fzf-lua\').oldfiles()<CR>',
{ silent = true }
) -- search in recent files
vim.keymap.set(
'n' ,
'<Leader>ff' ,
'<cmd>lua require(\'fzf-lua\').files()<CR>',
{ silent = true }
) -- search in files in path
vim.keymap.set(
'n' ,
'<Leader>fw' ,
'<cmd>lua require(\'fzf-lua\').grep()<CR>',
{ silent = true }
) -- search for a word

View file

@ -1,8 +0,0 @@
--[[
Loads ui settings of indent-blankline plugin
--]]
vim.opt.list = true -- display indent
vim.opt.listchars:append('eol:↴') -- display end of line (eof)
vim.opt.listchars:append('space:⋅') -- display space

View file

@ -1,11 +0,0 @@
--[[
Loads list of excluded context where we do not needs to use the plugin
--]]
require('indent_blankline').setup{
filetype_exclude = {
'dashboard' -- used by the dashboard-nvim plugin
},
}

View file

@ -1,16 +0,0 @@
--[[
Loads settings for indent-blankline plugin
This file only loads others
To have a full display of the configuration structure, see the root
init.lua
--]]
require('plugins.indent-blankline.display') -- ui and graphical settings
require('plugins.indent-blankline.exclusions') -- excluded context
require('plugins.indent-blankline.mapping') -- key mapping settings
require('plugins.indent-blankline.setup') -- setup settings

View file

@ -1,7 +0,0 @@
--[[
Loads key mapping settings for the plugin indent-blankline
--]]
vim.keymap.set('n', '<leader>pwt', function() -- toggle the plugin
vim.g.indent_blankline_enabled = not vim.g.indent_blankline_enabled
end)

View file

@ -1,8 +0,0 @@
--[[
Loads setup settings for indent-blankline plugin (except exclusion
settings managed in exclusions.lua)
--]]
require('indent_blankline').setup{
use_treesitter = true,
}

View file

@ -1,20 +1,20 @@
--[[
Loads plugins settings
This file only loads others
To have a full display of the configuration structure, see the root init.lua
--]]
require('plugins.loader') -- install and load plugins and plugins settings
require('plugins.vim-easy-align') -- settings for vim-easy-align plugin
require('plugins.fzf-lua') -- settings for fzf-lua plugin
require('plugins.indent-blankline') -- settings for indeent-blankline
--settings
require('plugins.nvim-treesitter') -- setting for nvim-treesitter plugin
require('plugins.nvim-lspconfig') -- setting for nvim-lspconfig plugin
local ok, lazy = pcall(require, 'lazy')
if not ok then -- avoid lazy trying to load it's own script in loop
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git" ,
"clone" ,
"--filter=blob:none" ,
"https://github.com/folke/lazy.nvim.git",
"--branch=stable" , -- latest stable release
lazypath ,
})
end
vim.opt.rtp:prepend(lazypath)
require('lazy').setup('plugins')
else
return {}
end

View file

@ -1,126 +0,0 @@
--[[
Installs and loads plugins and plugins settings
--]]
-- Packer startup
return require('packer').startup(function(use)
use 'wbthomason/packer.nvim' -- packer can manage itself
use { -- install fzf as a neovim plugin
'junegunn/fzf',
run = './install --bin'
}
use 'vijaymarupudi/nvim-fzf' -- link between lua and fzf
use {
'ibhagwan/fzf-lua', -- fzf.vim replacement with lua (only for
--linux)
-- optional for icon support
requires = { 'nvim-tree/nvim-web-devicons' }
}
use 'neovim/nvim-lspconfig' -- Language Server Protocol easy configuration
use 'tpope/vim-fugitive' -- Git plugin
use {
'glepnir/dashboard-nvim', -- dashboard
event = 'VimEnter',
config = function()
require('dashboard').setup {
theme = 'doom',
config = {
header = {
'',
'MMMMMMMMMWkdXMMMMMMMMMMMMMWXOd:\'.. ..\':oOXWMMMMMMMMMMMMMNxkWMMMMMMMMM',
'MMMMMMMMMWo.;kNMMMMMMMMNOd:\'. .\':oONMMMMMMMMWO:.lWMMMMMMMMM',
'MMMMMMMMMWo ;kNMMMNkc\' \'ckXMMMWO:. lWMMMMMMMMM',
'MMMMMMMMMWo .;kKd\' \'oKO:. lWMMMMMMMMM',
'MMMMMMMMMWo .xO:. :Ox\' lWMMMMMMMMM',
'MMMMMMMMMWo .oKWMNk;. ;kNMMXd\' lWMMMMMMMMM',
'MMMMMMMMMWo..oKWMMMMMNk;. ;kNMMMMMMXd\'.lWMMMMMMMMM',
'MMMMMMMMMWOdKWMMMMMMMMMNk;. ;kNMMMMMMMMMWXxOWMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. .;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM',
'XWMMMMMMMW0doooooooooooooooooooooooddddooooooooooooooooooooooooo0WMMMMMMMMX',
',oKWMMMMMWd. ;kNMNk; oWMMMMMMXo\'',
'. .oKWMMMMk. ;kNMMMMMNk; .kMMMMMXd\' ',
'\' .oXWMMX; ;kNMMMMMMMMMNk; ;KMMWXd\' .',
'c .oXWWx. ;kNMMMMMMMMMMMMMNk; .xWWXd\' :',
'O. .oXNo ;kNMMMMMMMMMMMMMMMMMNk; lXXd\' .k',
'No .oOc ;kNMMMMMMMMMMMMMMMMMMMMMNk; cOd\' lN',
'MX: \'c;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMNk; .;c\' ;KM',
'MM0; ... ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; ... ,0MM',
'MMM0; .:kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk:. ,0MMM',
'MMMMKc ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; :KMMMM',
'MMMMMNd. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; .oXMMMMM',
'MMMMMMW0:. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; ;OWMMMMMM',
'MMMMMMMMNl\'lXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXl\'lXMMMMMMMM',
'',
},
center = {
{
icon = '' ,
desc = 'Fichiers récents',
key = 'o',
keymap = ', f r',
action = 'lua require(\'fzf-lua\').oldfiles()',
},
{
icon = '',
desc = 'Rechercher un fichier',
key = 'r',
keymap = ', f f',
action = 'lua require(\'fzf-lua\').files()',
},
{
icon = '',
desc = 'Rechercher un mot',
key = 'm',
keymap = ', f w',
action = 'lua require(\'fzf-lua\').grep()',
},
{
icon = '',
desc = 'Ouvrir des fichiers de configuration',
key = 'c',
keymap = ', i e',
action = 'lua vim.cmd( \'e ~/.config/nvim/init.lua\')',
},
},
footer = {}
}
}
end,
requires = {
'nvim-tree/nvim-web-devicons'
}
}
use 'lukas-reineke/indent-blankline.nvim' -- add indentation guides
--to all lines
use {'nvim-treesitter/nvim-treesitter', -- parser generator tool
-- (completion and better syntax highlighting)
run = function()
local ts_update = require('nvim-treesitter.install').update(
{ with_sync = true }
)
ts_update()
end,
}
use 'junegunn/gv.vim' -- git commit browser for vim-fugitive
use 'junegunn/vim-peekaboo' -- real time view of the register
use 'junegunn/vim-easy-align' -- align multiple line on a symbol
use 'tanvirtin/monokai.nvim' -- coloscheme
use 'nvim-tree/nvim-web-devicons' -- adds icons to plugins
end)

View file

@ -0,0 +1,4 @@
return {
'echasnovski/mini.nvim',
version = false
}

View file

@ -0,0 +1,3 @@
return {
'tanvirtin/monokai.nvim'
}

View file

@ -0,0 +1,9 @@
return {
'nvim-neo-tree/neo-tree.nvim',
branch = 'v3.x',
dependencies = {
'nvim-lua/plenary.nvim' ,
'nvim-tree/nvim-web-devicons',
'MunifTanjim/nui.nvim' ,
}
}

View file

@ -0,0 +1,25 @@
return {
'folke/noice.nvim',
event = 'VeryLazy',
opts = {
lsp = {
override = {
['vim.lsp.util.convert_input_to_markdown_lines'] = true,
['vim.lsp.util.stylize_markdown'] = true,
['cmp.entry.get_documentation'] = true,
},
},
presets = {
bottom_search = true,
command_palette = true,
}
},
dependencies = {
-- 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',
}
}

View file

@ -0,0 +1,34 @@
return {
'hrsh7th/nvim-cmp' ,
version = false ,
event = 'InsertEnter',
dependencies = {
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-buffer' ,
'hrsh7th/cmp-path' ,
'hrsh7th/cmp-emoji' ,
} ,
opts = function()
return {
snippet = {
expand = function(args)
require('luasnip').lsp_expand(args.body)
end
},
window = {
completion = require('cmp').config.window.bordered(),
documentation = require('cmp').config.window.bordered(),
},
sources = require('cmp').config.sources({
{ name = 'nvim_lsp' },
{ name = 'path' },
{ name = 'emoji' },
{ name = 'luasnip' },
}, {
{ name = 'buffer' },
}),
mapping = {
}
}
end ,
}

View file

@ -0,0 +1,7 @@
return {
'neovim/nvim-lspconfig',
event = {
'BufReadPre',
'BufNewFile',
}
}

View file

@ -1,10 +0,0 @@
--[[
Loads settings for nvim-lspconfig
This file only loads others
To have a full display of the configuration structure, see the root
init.lua
--]]
require('plugins.nvim-lspconfig.lua_config')

View file

@ -1,26 +0,0 @@
--[[
Load server configuration for lua lsp
--]]
require'lspconfig'.lua_ls.setup {
settings = {
Lua = {
runtime = {
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
version = 'LuaJIT',
},
diagnostics = {
-- Get the language server to recognize the `vim` global
globals = {'vim'},
},
workspace = {
-- Make the server aware of Neovim runtime files
library = vim.api.nvim_get_runtime_file("", true),
},
-- Do not send telemetry data containing a randomized but unique identifier
telemetry = {
enable = false,
},
},
},
}

View file

@ -0,0 +1,3 @@
return {
'nvim-treesitter/nvim-treesitter-context',
}

View file

@ -0,0 +1,88 @@
require('plugins.nvim-treesitter.folding')
return {
'nvim-treesitter/nvim-treesitter',
version = false ,
build = ':TSUpdate' ,
dependencies = {
{
'nvim-treesitter/nvim-treesitter-textobjects',
}
},
config = function()
local configs = require('nvim-treesitter.configs')
configs.setup({
highlight = {
enable = true,
},
indent = {
enable = true,
},
ensure_installed = {
'bash' ,
'c' ,
'cpp' ,
'css' ,
'diff' ,
'html' ,
'javascript' ,
'json' ,
'markdown' ,
'markdown_inline',
'php' ,
'python' ,
'regex' ,
'rust' ,
'xml' ,
'vim' ,
},
autotag = {
enable = true,
},
incremental_selection = {
enable = true,
keymaps = {
init_selection = '<Leader>pts',
node_incremental = '<Leader>ptn',
scope_incremental = '<Leader>pts',
node_decremental = '<Leader>ptd',
}
},
text_objects = {
move = {
enable = true,
set_jumps = true,
goto_next_start = {
['<Leader>mnf'] = '@function.outer',
['<Leader>mnc'] = '@class.outer' ,
['<Leader>mns'] = {
query = '@scope' ,
query_group = 'locals' ,
desc = 'Scope suivant',
} ,
} ,
goto_next_end = {
['<Leader>mnF'] = '@function.outer',
['<Leader>mnC'] = '@class.outer' ,
} ,
goto_previous_start = {
['<Leader>mpf'] = '@function.outer',
['<Leader>mpc'] = '@class.outer' ,
['<Leader>mns'] = {
query = '@scope' ,
query_group = 'locals' ,
desc = 'Scope précédent',
} ,
} ,
goto_previous_end = {
['<Leader>mpF'] = '@function.outer',
['<Leader>mpC'] = '@function.class',
} ,
},
},
sync_install = false,
auto_install = true ,
})
end
}

View file

@ -0,0 +1,2 @@
vim.opt.foldmethod = 'expr'
vim.opt.foldexpr = 'nvim_treesitter#foldexp()'

View file

@ -1,13 +0,0 @@
--[[
Loads settings for nvim-treesitter plugin
This file only loads others
To have a full display of the configuration structure, see the root
init.lua
--]]
require('plugins.nvim-treesitter.workaround') -- workaround found on
--https://github.com/nvim-treesitter/nvim-treesitter/wiki/Installation
require('plugins.nvim-treesitter.setup') -- setup settings

View file

@ -1,14 +0,0 @@
--[[
Loads setup settings for nvim-treesitter plugin
--]]
require('nvim-treesitter.configs').setup {
ensure_installed = 'all', -- installed parser
sync_install = false, -- don't install parsers synchronously
auto_install = false, -- install missing parsers when entering
--buffer
highlight = {
enable = true, -- enable highlighting
}
}

View file

@ -1,17 +0,0 @@
--[[
Loads workaround found on
https://github.com/nvim-treesitter/nvim-treesitter/wiki/Installation
--]]
-- vim.opt.foldmethod = 'expr'
-- vim.opt.foldexpr = 'nvim_treesitter#foldexpr()'
---WORKAROUND to enable folding
--[[ vim.api.nvim_create_autocmd({'BufEnter','BufAdd','BufNew','BufNewFile','BufWinEnter'}, {
group = vim.api.nvim_create_augroup('TS_FOLD_WORKAROUND', {}),
callback = function()
vim.opt.foldmethod = 'expr'
vim.opt.foldexpr = 'nvim_treesitter#foldexpr()'
end
})
--]]
---ENDWORKAROUND

View file

@ -0,0 +1,3 @@
return {
'windwp/nvim-ts-autotag',
}

View file

@ -0,0 +1,6 @@
return {
'folke/persistence.nvim',
event = 'BufReadPre' ,
opts = {
},
}

View file

@ -0,0 +1,37 @@
return {
'folke/trouble.nvim',
branch = 'dev', -- IMPORTANT!
keys = {
{
'<leader>plt',
'<cmd>Trouble diagnostics toggle<cr>',
desc = 'Diagnostics (Trouble)',
},
{
'<leader>plb',
'<cmd>Trouble diagnostics toggle filter.buf=0<cr>',
desc = 'Buffer Diagnostics (Trouble)',
},
{
'<leader>plc',
'<cmd>Trouble symbols toggle focus=false<cr>',
desc = 'Symbols (Trouble)',
},
{
'<leader>pll',
'<cmd>Trouble lsp toggle focus=false win.position=right<cr>',
desc = 'LSP Definitions / references / ... (Trouble)',
},
{
'<leader>plL',
'<cmd>Trouble loclist toggle<cr>',
desc = 'Location List (Trouble)',
},
{
'<leader>plq',
'<cmd>Trouble qflist toggle<cr>',
desc = 'Quickfix List (Trouble)',
},
},
opts = {}, -- for default options, refer to the configuration section for custom setup.
}

View file

@ -1,10 +0,0 @@
--[[
Loads settings for vim-easy-align plugin
This file only loads others
To have a full display of the configuration structure, see the root
init.lua
--]]
require('plugins.vim-easy-align.mapping') -- key mapping settings

View file

@ -1,6 +0,0 @@
--[[
Loads key mapping settings
--]]
vim.keymap.set('v', '<Leader>pa', '<Plug>(EasyAlign)') -- align selected
-- lines

View file

@ -0,0 +1,4 @@
return {
'tpope/vim-fugitive',
cmd = 'Git'
}

View file

@ -0,0 +1,10 @@
return {
'folke/which-key.nvim',
event = 'VeryLazy' ,
init = function()
vim.o.timeout = true
vim.o.timeoutlen = 1500
end ,
opts = {
}
}

View file

@ -0,0 +1,4 @@
vim.g.python3_host_prog = '~/.local/share/python/neovim/bin/python3'
vim.g.loaded_node_provider = 0
vim.g.loaded_perl_provider = 0
vim.g.loaded_ruby_provider = 0

View file

@ -0,0 +1,3 @@
require('provider.vanilla')
require('provider.lsp')

View file

@ -0,0 +1,10 @@
require('lspconfig').basedpyright.setup {
cmd = {
require('variables.paths').python .. 'basedpyright-langserver',
'--stdio',
}
}
require('lspconfig').tsserver.setup {}
require('lspconfig').rust_analyzer.setup {}

View file

@ -0,0 +1,4 @@
vim.g.python3_host_prog = require('variables.paths').python .. 'python3'
vim.g.loaded_node_provider = 0
vim.g.loaded_perl_provider = 0
vim.g.loaded_ruby_provider = 0

View file

@ -0,0 +1,4 @@
vim.opt.confirm = true
vim.opt.ignorecase = true
vim.opt.smartcase = true
vim.opt.spell = false

View file

@ -0,0 +1,5 @@
local Core = {}
Core.config = vim.fn.stdpath('config')
return Core

View file

@ -0,0 +1,5 @@
require('variables.core')
require('variables.mapping')
require('variables.paths')

View file

@ -0,0 +1,10 @@
local Mapping = {}
Mapping.up = 'k'
Mapping.down = 'j'
Mapping.left = 'h'
Mapping.right = 'l'
vim.g.mapleader = ','
return Mapping

View file

@ -0,0 +1,5 @@
local Paths = {}
Paths.python = '{{- .neovim.python -}}'
return Paths

View file

@ -1,174 +0,0 @@
-- Automatically generated packer.nvim plugin loader code
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
return
end
vim.api.nvim_command('packadd packer.nvim')
local no_errors, error_msg = pcall(function()
_G._packer = _G._packer or {}
_G._packer.inside_compile = true
local time
local profile_info
local should_profile = false
if should_profile then
local hrtime = vim.loop.hrtime
profile_info = {}
time = function(chunk, start)
if start then
profile_info[chunk] = hrtime()
else
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
end
end
else
time = function(chunk, start) end
end
local function save_profiles(threshold)
local sorted_times = {}
for chunk_name, time_taken in pairs(profile_info) do
sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
end
table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
local results = {}
for i, elem in ipairs(sorted_times) do
if not threshold or threshold and elem[2] > threshold then
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
end
end
if threshold then
table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
end
_G._packer.profile_output = results
end
time([[Luarocks path setup]], true)
local package_path_str = "/home/linarphy/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/linarphy/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/linarphy/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/linarphy/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
local install_cpath_pattern = "/home/linarphy/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
if not string.find(package.path, package_path_str, 1, true) then
package.path = package.path .. ';' .. package_path_str
end
if not string.find(package.cpath, install_cpath_pattern, 1, true) then
package.cpath = package.cpath .. ';' .. install_cpath_pattern
end
time([[Luarocks path setup]], false)
time([[try_loadstring definition]], true)
local function try_loadstring(s, component, name)
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
if not success then
vim.schedule(function()
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
end)
end
return result
end
time([[try_loadstring definition]], false)
time([[Defining packer_plugins]], true)
_G.packer_plugins = {
["dashboard-nvim"] = {
config = { "\27LJ\2\nË\20\0\0\6\0\14\0\0236\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0005\3\5\0005\4\4\0=\4\6\0034\4\5\0005\5\a\0>\5\1\0045\5\b\0>\5\2\0045\5\t\0>\5\3\0045\5\n\0>\5\4\4=\4\v\0034\4\0\0=\4\f\3=\3\r\2B\0\2\1K\0\1\0\vconfig\vfooter\vcenter\1\0\5\tdesc)Ouvrir des fichiers de configuration\ticon\t \vaction.lua vim.cmd( 'e ~/.config/nvim/init.lua')\vkeymap\n, i e\bkey\6c\1\0\5\tdesc\22Rechercher un mot\ticon\tî­¾ \vaction\"lua require('fzf-lua').grep()\vkeymap\n, f w\bkey\6m\1\0\5\tdesc\26Rechercher un fichier\ticon\tî©» \vaction#lua require('fzf-lua').files()\vkeymap\n, f f\bkey\6r\1\0\5\tdesc\22Fichiers récents\ticon\n \vaction&lua require('fzf-lua').oldfiles()\vkeymap\n, f r\bkey\6o\vheader\1\0\0\1\30\0\0\5PMMMMMMMMMWkdXMMMMMMMMMMMMMWXOd:'.. ..':oOXWMMMMMMMMMMMMMNxkWMMMMMMMMMPMMMMMMMMMWo.;kNMMMMMMMMNOd:'. .':oONMMMMMMMMWO:.lWMMMMMMMMMPMMMMMMMMMWo ;kNMMMNkc' 'ckXMMMWO:. lWMMMMMMMMMPMMMMMMMMMWo .;kKd' 'oKO:. lWMMMMMMMMMPMMMMMMMMMWo .xO:. :Ox' lWMMMMMMMMMPMMMMMMMMMWo .oKWMNk;. ;kNMMXd' lWMMMMMMMMMPMMMMMMMMMWo..oKWMMMMMNk;. ;kNMMMMMMXd'.lWMMMMMMMMMPMMMMMMMMMWOdKWMMMMMMMMMNk;. ;kNMMMMMMMMMWXxOWMMMMMMMMMPMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMPMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMPMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMPMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMPMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. .;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMPXWMMMMMMMW0doooooooooooooooooooooooddddooooooooooooooooooooooooo0WMMMMMMMMXP,oKWMMMMMWd. ;kNMNk; oWMMMMMMXo'P. .oKWMMMMk. ;kNMMMMMNk; .kMMMMMXd' P' .oXWMMX; ;kNMMMMMMMMMNk; ;KMMWXd' .Pc .oXWWx. ;kNMMMMMMMMMMMMMNk; .xWWXd' :PO. .oXNo ;kNMMMMMMMMMMMMMMMMMNk; lXXd' .kPNo .oOc ;kNMMMMMMMMMMMMMMMMMMMMMNk; cOd' lNPMX: 'c;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMNk; .;c' ;KMPMM0; ... ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; ... ,0MMPMMM0; .:kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk:. ,0MMMPMMMMKc ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; :KMMMMPMMMMMNd. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; .oXMMMMMPMMMMMMW0:. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; ;OWMMMMMMPMMMMMMMMNl'lXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXl'lXMMMMMMMM\5\1\0\1\ntheme\tdoom\nsetup\14dashboard\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/opt/dashboard-nvim",
url = "https://github.com/glepnir/dashboard-nvim"
},
fzf = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/fzf",
url = "https://github.com/junegunn/fzf"
},
["fzf-lua"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/fzf-lua",
url = "https://github.com/ibhagwan/fzf-lua"
},
["gv.vim"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/gv.vim",
url = "https://github.com/junegunn/gv.vim"
},
["indent-blankline.nvim"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim",
url = "https://github.com/lukas-reineke/indent-blankline.nvim"
},
["monokai.nvim"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/monokai.nvim",
url = "https://github.com/tanvirtin/monokai.nvim"
},
["nvim-fzf"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/nvim-fzf",
url = "https://github.com/vijaymarupudi/nvim-fzf"
},
["nvim-lspconfig"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
url = "https://github.com/neovim/nvim-lspconfig"
},
["nvim-treesitter"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
url = "https://github.com/nvim-treesitter/nvim-treesitter"
},
["nvim-web-devicons"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
url = "https://github.com/nvim-tree/nvim-web-devicons"
},
["packer.nvim"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/packer.nvim",
url = "https://github.com/wbthomason/packer.nvim"
},
["vim-easy-align"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/vim-easy-align",
url = "https://github.com/junegunn/vim-easy-align"
},
["vim-fugitive"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/vim-fugitive",
url = "https://github.com/tpope/vim-fugitive"
},
["vim-peekaboo"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/vim-peekaboo",
url = "https://github.com/junegunn/vim-peekaboo"
}
}
time([[Defining packer_plugins]], false)
vim.cmd [[augroup packer_load_aucmds]]
vim.cmd [[au!]]
-- Event lazy-loads
time([[Defining lazy-load event autocommands]], true)
vim.cmd [[au VimEnter * ++once lua require("packer.load")({'dashboard-nvim'}, { event = "VimEnter *" }, _G.packer_plugins)]]
time([[Defining lazy-load event autocommands]], false)
vim.cmd("augroup END")
_G._packer.inside_compile = false
if _G._packer.needs_bufread == true then
vim.cmd("doautocmd BufRead")
end
_G._packer.needs_bufread = false
if should_profile then save_profiles() end
end)
if not no_errors then
error_msg = error_msg:gsub('"', '\\"')
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
end

View file

@ -0,0 +1,76 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies within all project spaces, and it also applies when
an individual is representing the project or its community in public spaces.
Examples of representing a project or community include using an official
project e-mail address, posting via an official social media account, or acting
as an appointed representative at an online or offline event. Representation of
a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at ohmyzsh@planetargon.com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq

View file

@ -0,0 +1,245 @@
# CONTRIBUTING GUIDELINES
Oh-My-Zsh is a community-driven project. Contribution is welcome, encouraged, and appreciated.
It is also essential for the development of the project.
First, please take a moment to review our [code of conduct](CODE_OF_CONDUCT.md).
These guidelines are an attempt at better addressing the huge amount of pending
issues and pull requests. Please read them closely.
Foremost, be so kind as to [search](#use-the-search-luke). This ensures any contribution
you would make is not already covered.
<!-- TOC updateonsave:true depthfrom:2 -->
- [Reporting Issues](#reporting-issues)
- [You have a problem](#you-have-a-problem)
- [You have a suggestion](#you-have-a-suggestion)
- [Submitting Pull Requests](#submitting-pull-requests)
- [Getting started](#getting-started)
- [You have a solution](#you-have-a-solution)
- [You have an addition](#you-have-an-addition)
- [Use the Search, Luke](#use-the-search-luke)
- [Commit Guidelines](#commit-guidelines)
- [Format](#format)
- [Style](#style)
- [Volunteer](#volunteer)
<!-- /TOC -->
## Reporting Issues
### You have a problem
Please be so kind as to [search](#use-the-search-luke) for any open issue already covering
your problem.
If you find one, comment on it, so we know more people are experiencing it.
If not, look at the [Troubleshooting](https://github.com/ohmyzsh/ohmyzsh/wiki/Troubleshooting)
page for instructions on how to gather data to better debug your problem.
Then, you can go ahead and create an issue with as much detail as you can provide.
It should include the data gathered as indicated above, along with the following:
1. How to reproduce the problem
2. What the correct behavior should be
3. What the actual behavior is
Please copy to anyone relevant (e.g. plugin maintainers) by mentioning their GitHub handle
(starting with `@`) in your message.
We will do our very best to help you.
### You have a suggestion
Please be so kind as to [search](#use-the-search-luke) for any open issue already covering
your suggestion.
If you find one, comment on it, so we know more people are supporting it.
If not, you can go ahead and create an issue. Please copy to anyone relevant (e.g. plugin
maintainers) by mentioning their GitHub handle (starting with `@`) in your message.
## Submitting Pull Requests
### Getting started
You should be familiar with the basics of
[contributing on GitHub](https://help.github.com/articles/using-pull-requests) and have a fork
[properly set up](https://github.com/ohmyzsh/ohmyzsh/wiki/Contribution-Technical-Practices).
You MUST always create PRs with _a dedicated branch_ based on the latest upstream tree.
If you create your own PR, please make sure you do it right. Also be so kind as to reference
any issue that would be solved in the PR description body,
[for instance](https://help.github.com/articles/closing-issues-via-commit-messages/)
_"Fixes #XXXX"_ for issue number XXXX.
### You have a solution
Please be so kind as to [search](#use-the-search-luke) for any open issue already covering
your [problem](#you-have-a-problem), and any pending/merged/rejected PR covering your solution.
If the solution is already reported, try it out and +1 the pull request if the
solution works ok. On the other hand, if you think your solution is better, post
it with reference to the other one so we can have both solutions to compare.
If not, then go ahead and submit a PR. Please copy to anyone relevant (e.g. plugin
maintainers) by mentioning their GitHub handle (starting with `@`) in your message.
### You have an addition
Please [do not](https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#dont-send-us-your-theme-for-now)
send themes for now.
Please be so kind as to [search](#use-the-search-luke) for any pending, merged or rejected Pull Requests
covering or related to what you want to add.
If you find one, try it out and work with the author on a common solution.
If not, then go ahead and submit a PR. Please copy to anyone relevant (e.g. plugin
maintainers) by mentioning their GitHub handle (starting with `@`) in your message.
For any extensive change, such as a new plugin, you will have to find testers to +1 your PR.
### New plugin aliases
We acknowledge that aliases are a core part of Oh My Zsh. There are plugins that have +100 aliases!
This has become an issue for two opposing reasons:
- Some users want to have their personal aliases in Oh My Zsh.
- Some users don't want any aliases at all and feel that there are too many.
Because of this, from now on, we require that new aliases follow these conditions:
1. They will be used by many people, not just a few.
2. The aliases will be used many times and for common tasks.
3. Prefer one generic alias over many specific ones.
4. When justifying the need for an alias, talk about workflows where you'll use it,
preferably in combination with other aliases.
5. If a command with the same name exists, look for a different alias name.
This list is not exhaustive! Please remember that your alias will be in the machines of many people,
so it should be justified why they should have it.
----
## Use the Search, Luke
_May the Force (of past experiences) be with you_
GitHub offers [many search features](https://help.github.com/articles/searching-github/)
to help you check whether a similar contribution to yours already exists. Please search
before making any contribution, it avoids duplicates and eases maintenance. Trust me,
that works 90% of the time.
You can also take a look at the [FAQ](https://github.com/ohmyzsh/ohmyzsh/wiki/FAQ)
to be sure your contribution has not already come up.
If all fails, your thing has probably not been reported yet, so you can go ahead
and [create an issue](#reporting-issues) or [submit a PR](#submitting-pull-requests).
----
## Commit Guidelines
Oh My Zsh uses the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)
specification. The automatic changelog tool uses these to automatically generate
a changelog based on the commit messages. Here's a guide to writing a commit message
to allow this:
### Format
```
type(scope)!: subject
```
- `type`: the type of the commit is one of the following:
- `feat`: new features.
- `fix`: bug fixes.
- `docs`: documentation changes.
- `refactor`: refactor of a particular code section without introducing
new features or bug fixes.
- `style`: code style improvements.
- `perf`: performance improvements.
- `test`: changes to the test suite.
- `ci`: changes to the CI system.
- `build`: changes to the build system (we don't yet have one so this shouldn't apply).
- `chore`: for other changes that don't match previous types. This doesn't appear
in the changelog.
- `scope`: section of the codebase that the commit makes changes to. If it makes changes to
many sections, or if no section in particular is modified, leave blank without the parentheses.
Examples:
- Commit that changes the `git` plugin:
```
feat(git): add alias for `git commit`
```
- Commit that changes many plugins:
```
style: fix inline declaration of arrays
```
For changes to plugins or themes, the scope should be the plugin or theme name:
- ✅ `fix(agnoster): commit subject`
- ❌ `fix(theme/agnoster): commit subject`
- `!`: this goes after the `scope` (or the `type` if scope is empty), to indicate that the commit
introduces breaking changes.
Optionally, you can specify a message that the changelog tool will display to the user to indicate
what's changed and what they can do to deal with it. You can use multiple lines to type this message;
the changelog parser will keep reading until the end of the commit message or until it finds an empty
line.
Example (made up):
```
style(agnoster)!: change dirty git repo glyph
BREAKING CHANGE: the glyph to indicate when a git repository is dirty has
changed from a Powerline character to a standard UTF-8 emoji. You can
change it back by setting `ZSH_THEME_DIRTY_GLYPH`.
Fixes #420
Co-authored-by: Username <email>
```
- `subject`: a brief description of the changes. This will be displayed in the changelog. If you need
to specify other details, you can use the commit body, but it won't be visible.
Formatting tricks: the commit subject may contain:
- Links to related issues or PRs by writing `#issue`. This will be highlighted by the changelog tool:
```
feat(archlinux): add support for aura AUR helper (#9467)
```
- Formatted inline code by using backticks: the text between backticks will also be highlighted by
the changelog tool:
```
feat(shell-proxy): enable unexported `DEFAULT_PROXY` setting (#9774)
```
### Style
Try to keep the first commit line short. It's harder to do using this commit style but try to be
concise, and if you need more space, you can use the commit body. Try to make sure that the commit
subject is clear and precise enough that users will know what changed by just looking at the changelog.
----
## Volunteer
Very nice!! :)
Please have a look at the [Volunteer](https://github.com/ohmyzsh/ohmyzsh/wiki/Volunteers)
page for instructions on where to start and more.

View file

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2009-2022 Robby Russell and contributors (https://github.com/ohmyzsh/ohmyzsh/contributors)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -0,0 +1,448 @@
<p align="center"><img src="https://ohmyzsh.s3.amazonaws.com/omz-ansi-github.png" alt="Oh My Zsh"></p>
Oh My Zsh is an open source, community-driven framework for managing your [zsh](https://www.zsh.org/) configuration.
Sounds boring. Let's try again.
**Oh My Zsh will not make you a 10x developer...but you may feel like one.**
Once installed, your terminal shell will become the talk of the town _or your money back!_ With each keystroke in your command prompt, you'll take advantage of the hundreds of powerful plugins and beautiful themes. Strangers will come up to you in cafés and ask you, _"that is amazing! are you some sort of genius?"_
Finally, you'll begin to get the sort of attention that you have always felt you deserved. ...or maybe you'll use the time that you're saving to start flossing more often. 😬
To learn more, visit [ohmyz.sh](https://ohmyz.sh), follow [@ohmyzsh](https://twitter.com/ohmyzsh) on Twitter, and join us on [Discord](https://discord.gg/ohmyzsh).
[![CI](https://github.com/ohmyzsh/ohmyzsh/workflows/CI/badge.svg)](https://github.com/ohmyzsh/ohmyzsh/actions?query=workflow%3ACI)
[![Follow @ohmyzsh](https://img.shields.io/twitter/follow/ohmyzsh?label=Follow+@ohmyzsh&style=flat)](https://twitter.com/intent/follow?screen_name=ohmyzsh)
[![Discord server](https://img.shields.io/discord/642496866407284746)](https://discord.gg/ohmyzsh)
[![Gitpod ready](https://img.shields.io/badge/Gitpod-ready-blue?logo=gitpod)](https://gitpod.io/#https://github.com/ohmyzsh/ohmyzsh)
[![huntr.dev](https://cdn.huntr.dev/huntr_security_badge_mono.svg)](https://huntr.dev/bounties/disclose/?utm_campaign=ohmyzsh%2Fohmyzsh&utm_medium=social&utm_source=github&target=https%3A%2F%2Fgithub.com%2Fohmyzsh%2Fohmyzsh)
<details>
<summary>Table of Contents</summary>
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Basic Installation](#basic-installation)
- [Manual inspection](#manual-inspection)
- [Using Oh My Zsh](#using-oh-my-zsh)
- [Plugins](#plugins)
- [Enabling Plugins](#enabling-plugins)
- [Using Plugins](#using-plugins)
- [Themes](#themes)
- [Selecting a Theme](#selecting-a-theme)
- [FAQ](#faq)
- [Advanced Topics](#advanced-topics)
- [Advanced Installation](#advanced-installation)
- [Custom Directory](#custom-directory)
- [Unattended install](#unattended-install)
- [Installing from a forked repository](#installing-from-a-forked-repository)
- [Manual Installation](#manual-installation)
- [Installation Problems](#installation-problems)
- [Custom Plugins and Themes](#custom-plugins-and-themes)
- [Enable GNU ls in macOS and freeBSD systems](#enable-gnu-ls)
- [Skip aliases](#skip-aliases)
- [Getting Updates](#getting-updates)
- [Updates verbosity](#updates-verbosity)
- [Manual Updates](#manual-updates)
- [Uninstalling Oh My Zsh](#uninstalling-oh-my-zsh)
- [How do I contribute to Oh My Zsh?](#how-do-i-contribute-to-oh-my-zsh)
- [Do NOT send us themes](#do-not-send-us-themes)
- [Contributors](#contributors)
- [Follow Us](#follow-us)
- [Merchandise](#merchandise)
- [License](#license)
- [About Planet Argon](#about-planet-argon)
</details>
## Getting Started
### Prerequisites
- A Unix-like operating system: macOS, Linux, BSD. On Windows: WSL2 is preferred, but cygwin or msys also mostly work.
- [Zsh](https://www.zsh.org) should be installed (v4.3.9 or more recent is fine but we prefer 5.0.8 and newer). If not pre-installed (run `zsh --version` to confirm), check the following wiki instructions here: [Installing ZSH](https://github.com/ohmyzsh/ohmyzsh/wiki/Installing-ZSH)
- `curl` or `wget` should be installed
- `git` should be installed (recommended v2.4.11 or higher)
### Basic Installation
Oh My Zsh is installed by running one of the following commands in your terminal. You can install this via the command-line with either `curl`, `wget` or another similar tool.
| Method | Command |
| :-------- | :------------------------------------------------------------------------------------------------ |
| **curl** | `sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"` |
| **wget** | `sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"` |
| **fetch** | `sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"` |
_Note that any previous `.zshrc` will be renamed to `.zshrc.pre-oh-my-zsh`. After installation, you can move the configuration you want to preserve into the new `.zshrc`._
#### Manual inspection
It's a good idea to inspect the install script from projects you don't yet know. You can do
that by downloading the install script first, looking through it so everything looks normal,
then running it:
```sh
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
sh install.sh
```
## Using Oh My Zsh
### Plugins
Oh My Zsh comes with a shitload of plugins for you to take advantage of. You can take a look in the [plugins](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins) directory and/or the [wiki](https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins) to see what's currently available.
#### Enabling Plugins
Once you spot a plugin (or several) that you'd like to use with Oh My Zsh, you'll need to enable them in the `.zshrc` file. You'll find the zshrc file in your `$HOME` directory. Open it with your favorite text editor and you'll see a spot to list all the plugins you want to load.
```sh
vi ~/.zshrc
```
For example, this might begin to look like this:
```sh
plugins=(
git
bundler
dotenv
macos
rake
rbenv
ruby
)
```
_Note that the plugins are separated by whitespace (spaces, tabs, new lines...). **Do not** use commas between them or it will break._
#### Using Plugins
Each built-in plugin includes a **README**, documenting it. This README should show the aliases (if the plugin adds any) and extra goodies that are included in that particular plugin.
### Themes
We'll admit it. Early in the Oh My Zsh world, we may have gotten a bit too theme happy. We have over one hundred and fifty themes now bundled. Most of them have [screenshots](https://github.com/ohmyzsh/ohmyzsh/wiki/Themes) on the wiki (We are working on updating this!). Check them out!
#### Selecting a Theme
_Robby's theme is the default one. It's not the fanciest one. It's not the simplest one. It's just the right one (for him)._
Once you find a theme that you'd like to use, you will need to edit the `~/.zshrc` file. You'll see an environment variable (all caps) in there that looks like:
```sh
ZSH_THEME="robbyrussell"
```
To use a different theme, simply change the value to match the name of your desired theme. For example:
```sh
ZSH_THEME="agnoster" # (this is one of the fancy ones)
# see https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#agnoster
```
_Note: many themes require installing a [Powerline Font](https://github.com/powerline/fonts) or a [Nerd Font](https://github.com/ryanoasis/nerd-fonts) in order to render properly. Without them, these themes will render [weird prompt symbols](https://github.com/ohmyzsh/ohmyzsh/wiki/FAQ#i-have-a-weird-character-in-my-prompt)_
Open up a new terminal window and your prompt should look something like this:
![Agnoster theme](https://cloud.githubusercontent.com/assets/2618447/6316862/70f58fb6-ba03-11e4-82c9-c083bf9a6574.png)
In case you did not find a suitable theme for your needs, please have a look at the wiki for [more of them](https://github.com/ohmyzsh/ohmyzsh/wiki/External-themes).
If you're feeling feisty, you can let the computer select one randomly for you each time you open a new terminal window.
```sh
ZSH_THEME="random" # (...please let it be pie... please be some pie..)
```
And if you want to pick random theme from a list of your favorite themes:
```sh
ZSH_THEME_RANDOM_CANDIDATES=(
"robbyrussell"
"agnoster"
)
```
If you only know which themes you don't like, you can add them similarly to an ignored list:
```sh
ZSH_THEME_RANDOM_IGNORED=(pygmalion tjkirch_mod)
```
### FAQ
If you have some more questions or issues, you might find a solution in our [FAQ](https://github.com/ohmyzsh/ohmyzsh/wiki/FAQ).
## Advanced Topics
If you're the type that likes to get their hands dirty, these sections might resonate.
### Advanced Installation
Some users may want to manually install Oh My Zsh, or change the default path or other settings that
the installer accepts (these settings are also documented at the top of the install script).
#### Custom Directory
The default location is `~/.oh-my-zsh` (hidden in your home directory, you can access it with `cd ~/.oh-my-zsh`)
If you'd like to change the install directory with the `ZSH` environment variable, either by running
`export ZSH=/your/path` before installing, or by setting it before the end of the install pipeline
like this:
```sh
ZSH="$HOME/.dotfiles/oh-my-zsh" sh install.sh
```
#### Unattended install
If you're running the Oh My Zsh install script as part of an automated install, you can pass the `--unattended`
flag to the `install.sh` script. This will have the effect of not trying to change
the default shell, and it also won't run `zsh` when the installation has finished.
```sh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
```
#### Installing from a forked repository
The install script also accepts these variables to allow installation of a different repository:
- `REPO` (default: `ohmyzsh/ohmyzsh`): this takes the form of `owner/repository`. If you set
this variable, the installer will look for a repository at `https://github.com/{owner}/{repository}`.
- `REMOTE` (default: `https://github.com/${REPO}.git`): this is the full URL of the git repository
clone. You can use this setting if you want to install from a fork that is not on GitHub (GitLab,
Bitbucket...) or if you want to clone with SSH instead of HTTPS (`git@github.com:user/project.git`).
_NOTE: it's incompatible with setting the `REPO` variable. This setting will take precedence._
- `BRANCH` (default: `master`): you can use this setting if you want to change the default branch to be
checked out when cloning the repository. This might be useful for testing a Pull Request, or if you
want to use a branch other than `master`.
For example:
```sh
REPO=apjanke/oh-my-zsh BRANCH=edge sh install.sh
```
#### Manual Installation
##### 1. Clone the repository <!-- omit in toc -->
```sh
git clone https://github.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh
```
##### 2. _Optionally_, backup your existing `~/.zshrc` file <!-- omit in toc -->
```sh
cp ~/.zshrc ~/.zshrc.orig
```
##### 3. Create a new zsh configuration file <!-- omit in toc -->
You can create a new zsh config file by copying the template that we have included for you.
```sh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
```
##### 4. Change your default shell <!-- omit in toc -->
```sh
chsh -s $(which zsh)
```
You must log out from your user session and log back in to see this change.
##### 5. Initialize your new zsh configuration <!-- omit in toc -->
Once you open up a new terminal window, it should load zsh with Oh My Zsh's configuration.
### Installation Problems
If you have any hiccups installing, here are a few common fixes.
- You _might_ need to modify your `PATH` in `~/.zshrc` if you're not able to find some commands after switching to `oh-my-zsh`.
- If you installed manually or changed the install location, check the `ZSH` environment variable in `~/.zshrc`.
### Custom Plugins and Themes
If you want to override any of the default behaviors, just add a new file (ending in `.zsh`) in the `custom/` directory.
If you have many functions that go well together, you can put them as a `XYZ.plugin.zsh` file in the `custom/plugins/` directory and then enable this plugin.
If you would like to override the functionality of a plugin distributed with Oh My Zsh, create a plugin of the same name in the `custom/plugins/` directory and it will be loaded instead of the one in `plugins/`.
### Enable GNU ls in macOS and freeBSD systems
<a name="enable-gnu-ls"></a>
The default behaviour in Oh My Zsh is to use BSD `ls` in macOS and freeBSD systems. If GNU `ls` is installed
(as `gls` command), you can choose to use it instead. To do it, you can use zstyle-based config before
sourcing `oh-my-zsh.sh`:
```zsh
zstyle ':omz:lib:theme-and-appearance' gnu-ls yes
```
_Note: this is not compatible with `DISABLE_LS_COLORS=true`_
### Skip aliases
<a name="remove-directories-aliases"></a>
If you want to skip default Oh My Zsh aliases (those defined in `lib/*` files) or plugin aliases,
you can use the settings below in your `~/.zshrc` file, **before Oh My Zsh is loaded**. Note that
there are many different ways to skip aliases, depending on your needs.
```sh
# Skip all aliases, in lib files and enabled plugins
zstyle ':omz:*' aliases no
# Skip all aliases in lib files
zstyle ':omz:lib:*' aliases no
# Skip only aliases defined in the directories.zsh lib file
zstyle ':omz:lib:directories' aliases no
# Skip all plugin aliases
zstyle ':omz:plugins:*' aliases no
# Skip only the aliases from the git plugin
zstyle ':omz:plugins:git' aliases no
```
You can combine these in other ways taking into account that more specific scopes takes precedence:
```sh
# Skip all plugin aliases, except for the git plugin
zstyle ':omz:plugins:*' aliases no
zstyle ':omz:plugins:git' aliases yes
```
A previous version of this feature was using the setting below, which has been removed:
```sh
zstyle ':omz:directories' aliases no
```
Instead, you can now use the following:
```sh
zstyle ':omz:lib:directories' aliases no
```
#### Notice <!-- omit in toc -->
> This feature is currently in a testing phase and it may be subject to change in the future.
> It is also not currently compatible with plugin managers such as zpm or zinit, which don't
> source the init script (`oh-my-zsh.sh`) where this feature is implemented in.
> It is also not currently aware of "aliases" that are defined as functions. Example of such
> are `gccd`, `ggf`, or `ggl` functions from the git plugin.
## Getting Updates
By default, you will be prompted to check for updates every 2 weeks. You can choose other update modes by adding a line to your `~/.zshrc` file, **before Oh My Zsh is loaded**:
1. Automatic update without confirmation prompt:
```sh
zstyle ':omz:update' mode auto
```
2. Just offer a reminder every few days, if there are updates available:
```sh
zstyle ':omz:update' mode reminder
```
3. To disable automatic updates entirely:
```sh
zstyle ':omz:update' mode disabled
```
NOTE: you can control how often Oh My Zsh checks for updates with the following setting:
```sh
# This will check for updates every 7 days
zstyle ':omz:update' frequency 7
# This will check for updates every time you open the terminal (not recommended)
zstyle ':omz:update' frequency 0
```
### Updates verbosity
You can also limit the update verbosity with the following settings:
```sh
zstyle ':omz:update' verbose default # default update prompt
zstyle ':omz:update' verbose minimal # only few lines
zstyle ':omz:update' verbose silent # only errors
```
### Manual Updates
If you'd like to update at any point in time (maybe someone just released a new plugin and you don't want to wait a week?) you just need to run:
```sh
omz update
```
Magic! 🎉
## Uninstalling Oh My Zsh
Oh My Zsh isn't for everyone. We'll miss you, but we want to make this an easy breakup.
If you want to uninstall `oh-my-zsh`, just run `uninstall_oh_my_zsh` from the command-line. It will remove itself and revert your previous `bash` or `zsh` configuration.
## How do I contribute to Oh My Zsh?
Before you participate in our delightful community, please read the [code of conduct](CODE_OF_CONDUCT.md).
I'm far from being a [Zsh](https://www.zsh.org/) expert and suspect there are many ways to improve if you have ideas on how to make the configuration easier to maintain (and faster), don't hesitate to fork and send pull requests!
We also need people to test out pull requests. So take a look through [the open issues](https://github.com/ohmyzsh/ohmyzsh/issues) and help where you can.
See [Contributing](CONTRIBUTING.md) for more details.
### Do NOT send us themes
We have (more than) enough themes for the time being. Please add your theme to the [external themes](https://github.com/ohmyzsh/ohmyzsh/wiki/External-themes) wiki page.
## Contributors
Oh My Zsh has a vibrant community of happy users and delightful contributors. Without all the time and help from our contributors, it wouldn't be so awesome.
Thank you so much!
## Follow Us
We're on social media:
- [@ohmyzsh](https://twitter.com/ohmyzsh) on Twitter. You should follow it.
- [Facebook](https://www.facebook.com/Oh-My-Zsh-296616263819290/) poke us.
- [Instagram](https://www.instagram.com/_ohmyzsh/) tag us in your post showing Oh My Zsh!
- [Discord](https://discord.gg/ohmyzsh) to chat with us!
## Merchandise
We have [stickers, shirts, and coffee mugs available](https://shop.planetargon.com/collections/oh-my-zsh?utm_source=github) for you to show off your love of Oh My Zsh. Again, you will become the talk of the town!
## License
Oh My Zsh is released under the [MIT license](LICENSE.txt).
## About Planet Argon
![Planet Argon](https://pa-github-assets.s3.amazonaws.com/PARGON_logo_digital_COL-small.jpg)
Oh My Zsh was started by the team at [Planet Argon](https://www.planetargon.com/?utm_source=github), a [Ruby on Rails development agency](http://www.planetargon.com/services/ruby-on-rails-development?utm_source=github). Check out our [other open source projects](https://www.planetargon.com/open-source?utm_source=github).

View file

@ -0,0 +1,24 @@
# Security Policy
## Supported Versions
At the moment Oh My Zsh only considers the very latest commit to be supported.
We combine that with our fast response to incidents and the automated updates
to minimize the time between vulnerability publication and patch release.
| Version | Supported |
|:-------------- |:------------------ |
| master | :white_check_mark: |
| other commits | :x: |
In the near future we will introduce versioning, so expect this section to change.
## Reporting a Vulnerability
**Do not submit an issue or pull request**: this might reveal the vulnerability.
Instead, you should email the maintainers directly at: [**security@ohmyz.sh**](mailto:security@ohmyz.sh).
We will deal with the vulnerability privately and submit a patch as soon as possible.
You can also submit your vulnerability report to [huntr.dev](https://huntr.dev/bounties/disclose/?utm_campaign=ohmyzsh%2Fohmyzsh&utm_medium=social&utm_source=github&target=https%3A%2F%2Fgithub.com%2Fohmyzsh%2Fohmyzsh) and see if you can get a bounty reward.

View file

View file

@ -0,0 +1 @@
LAST_EPOCH=19587

View file

View file

@ -0,0 +1,3 @@
alias grep='grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}'
alias egrep='grep -E --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}'
alias fgrep='grep -F --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}'

View file

@ -0,0 +1,12 @@
# Put files in this folder to add your own custom functionality.
# See: https://github.com/ohmyzsh/ohmyzsh/wiki/Customization
#
# Files in the custom/ directory will be:
# - loaded automatically by the init script, in alphabetical order
# - loaded last, after all built-ins in the lib/ directory, to override them
# - ignored by git by default
#
# Example: add custom/shortcuts.zsh for shortcuts to your local projects
#
# brainstormr=~/Projects/development/planetargon/brainstormr
# cd $brainstormr

View file

@ -0,0 +1,3 @@
# Add your own custom plugins in the custom/plugins directory. Plugins placed
# here will override ones with the same name in the main plugins directory.
# See: https://github.com/ohmyzsh/ohmyzsh/wiki/Customization#overriding-and-adding-plugins

View file

@ -0,0 +1,6 @@
# Put your custom themes in this folder.
# See: https://github.com/ohmyzsh/ohmyzsh/wiki/Customization#overriding-and-adding-themes
#
# Example:
PROMPT="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% "

View file

@ -0,0 +1,22 @@
Copyright (c) 2009-2014 Robby Russell and contributors (see https://github.com/robbyrussell/oh-my-zsh/contributors)
Copyright (c) 2014-2017 Ben Hilburn <bhilburn@gmail.com>
Copyright (c) 2019 Roman Perepelitsa <roman.perepelitsa@gmail.com> and contributors (see https://github.com/romkatv/powerlevel10k/contributors)
MIT LICENSE
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View file

@ -0,0 +1,14 @@
ZSH := $(shell command -v zsh 2> /dev/null)
all:
zwc:
$(MAKE) -C gitstatus zwc
$(or $(ZSH),:) -fc 'for f in *.zsh-theme internal/*.zsh; do zcompile -R -- $$f.zwc $$f || exit; done'
minify:
$(MAKE) -C gitstatus minify
rm -rf -- .git .gitattributes .gitignore LICENSE Makefile README.md font.md powerlevel10k.png
pkg: zwc
$(MAKE) -C gitstatus pkg

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,193 @@
# Config file for Powerlevel10k with the style of Pure (https://github.com/sindresorhus/pure).
#
# Differences from Pure:
#
# - Git:
# - `@c4d3ec2c` instead of something like `v1.4.0~11` when in detached HEAD state.
# - No automatic `git fetch` (the same as in Pure with `PURE_GIT_PULL=0`).
#
# Apart from the differences listed above, the replication of Pure prompt is exact. This includes
# even the questionable parts. For example, just like in Pure, there is no indication of Git status
# being stale; prompt symbol is the same in command, visual and overwrite vi modes; when prompt
# doesn't fit on one line, it wraps around with no attempt to shorten it.
#
# If you like the general style of Pure but not particularly attached to all its quirks, type
# `p10k configure` and pick "Lean" style. This will give you slick minimalist prompt while taking
# advantage of Powerlevel10k features that aren't present in Pure.
# Temporarily change options.
'builtin' 'local' '-a' 'p10k_config_opts'
[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases')
[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob')
[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand')
'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand'
() {
emulate -L zsh -o extended_glob
# Unset all configuration options.
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
# Zsh >= 5.1 is required.
[[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return
# Prompt colors.
local grey=242
local red=1
local yellow=3
local blue=4
local magenta=5
local cyan=6
local white=7
# Left prompt segments.
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
# =========================[ Line #1 ]=========================
context # user@host
dir # current directory
vcs # git status
command_execution_time # previous command duration
# =========================[ Line #2 ]=========================
newline # \n
virtualenv # python virtual environment
prompt_char # prompt symbol
)
# Right prompt segments.
typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(
# =========================[ Line #1 ]=========================
# command_execution_time # previous command duration
# virtualenv # python virtual environment
# context # user@host
# time # current time
# =========================[ Line #2 ]=========================
newline # \n
)
# Basic style options that define the overall prompt look.
typeset -g POWERLEVEL9K_BACKGROUND= # transparent background
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_{LEFT,RIGHT}_WHITESPACE= # no surrounding whitespace
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SUBSEGMENT_SEPARATOR=' ' # separate segments with a space
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_SEPARATOR= # no end-of-line symbol
typeset -g POWERLEVEL9K_VISUAL_IDENTIFIER_EXPANSION= # no segment icons
# Add an empty line before each prompt except the first. This doesn't emulate the bug
# in Pure that makes prompt drift down whenever you use the Alt-C binding from fzf or similar.
typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=true
# Magenta prompt symbol if the last command succeeded.
typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS}_FOREGROUND=$magenta
# Red prompt symbol if the last command failed.
typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS}_FOREGROUND=$red
# Default prompt symbol.
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION=''
# Prompt symbol in command vi mode.
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION=''
# Prompt symbol in visual vi mode is the same as in command mode.
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION=''
# Prompt symbol in overwrite vi mode is the same as in command mode.
typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=false
# Grey Python Virtual Environment.
typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=$grey
# Don't show Python version.
typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false
typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER=
# Blue current directory.
typeset -g POWERLEVEL9K_DIR_FOREGROUND=$blue
# Context format when root: user@host. The first part white, the rest grey.
typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE="%F{$white}%n%f%F{$grey}@%m%f"
# Context format when not root: user@host. The whole thing grey.
typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE="%F{$grey}%n@%m%f"
# Don't show context unless root or in SSH.
typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_CONTENT_EXPANSION=
# Show previous command duration only if it's >= 5s.
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=5
# Don't show fractional seconds. Thus, 7s rather than 7.3s.
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0
# Duration format: 1d 2h 3m 4s.
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s'
# Yellow previous command duration.
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=$yellow
# Grey Git prompt. This makes stale prompts indistinguishable from up-to-date ones.
typeset -g POWERLEVEL9K_VCS_FOREGROUND=$grey
# Disable async loading indicator to make directories that aren't Git repositories
# indistinguishable from large Git repositories without known state.
typeset -g POWERLEVEL9K_VCS_LOADING_TEXT=
# Don't wait for Git status even for a millisecond, so that prompt always updates
# asynchronously when Git state changes.
typeset -g POWERLEVEL9K_VCS_MAX_SYNC_LATENCY_SECONDS=0
# Cyan ahead/behind arrows.
typeset -g POWERLEVEL9K_VCS_{INCOMING,OUTGOING}_CHANGESFORMAT_FOREGROUND=$cyan
# Don't show remote branch, current tag or stashes.
typeset -g POWERLEVEL9K_VCS_GIT_HOOKS=(vcs-detect-changes git-untracked git-aheadbehind)
# Don't show the branch icon.
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
# When in detached HEAD state, show @commit where branch normally goes.
typeset -g POWERLEVEL9K_VCS_COMMIT_ICON='@'
# Don't show staged, unstaged, untracked indicators.
typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED}_ICON=
# Show '*' when there are staged, unstaged or untracked files.
typeset -g POWERLEVEL9K_VCS_DIRTY_ICON='*'
# Show '⇣' if local branch is behind remote.
typeset -g POWERLEVEL9K_VCS_INCOMING_CHANGES_ICON=':⇣'
# Show '⇡' if local branch is ahead of remote.
typeset -g POWERLEVEL9K_VCS_OUTGOING_CHANGES_ICON=':⇡'
# Don't show the number of commits next to the ahead/behind arrows.
typeset -g POWERLEVEL9K_VCS_{COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=1
# Remove space between '⇣' and '⇡' and all trailing spaces.
typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${${${P9K_CONTENT/⇣* :⇡/⇣⇡}// }//:/ }'
# Grey current time.
typeset -g POWERLEVEL9K_TIME_FOREGROUND=$grey
# Format for the current time: 09:51:02. See `man 3 strftime`.
typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}'
# If set to true, time will update when you hit enter. This way prompts for the past
# commands will contain the start times of their commands rather than the end times of
# their preceding commands.
typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false
# Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt
# when accepting a command line. Supported values:
#
# - off: Don't change prompt when accepting a command line.
# - always: Trim down prompt when accepting a command line.
# - same-dir: Trim down prompt when accepting a command line unless this is the first command
# typed after changing current working directory.
typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=off
# Instant prompt mode.
#
# - off: Disable instant prompt. Choose this if you've tried instant prompt and found
# it incompatible with your zsh configuration files.
# - quiet: Enable instant prompt and don't print warnings when detecting console output
# during zsh initialization. Choose this if you've read and understood
# https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
# - verbose: Enable instant prompt and print a warning when detecting console output during
# zsh initialization. Choose this if you've never tried instant prompt, haven't
# seen the warning, or if you are unsure what this all means.
typeset -g POWERLEVEL9K_INSTANT_PROMPT=verbose
# Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized.
# For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload
# can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you
# really need it.
typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true
# If p10k is already loaded, reload configuration.
# This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true.
(( ! $+functions[p10k] )) || p10k reload
}
# Tell `p10k configure` which file it should overwrite.
typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a}
(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]}
'builtin' 'unset' 'p10k_config_opts'

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,111 @@
# Config file for Powerlevel10k with the style of robbyrussell theme from Oh My Zsh.
#
# Original: https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#robbyrussell.
#
# Replication of robbyrussell theme is exact. The only observable difference is in
# performance. Powerlevel10k prompt is very fast everywhere, even in large Git repositories.
#
# Usage: Source this file either before or after loading Powerlevel10k.
#
# source ~/powerlevel10k/config/p10k-robbyrussell.zsh
# source ~/powerlevel10k/powerlevel10k.zsh-theme
# Temporarily change options.
'builtin' 'local' '-a' 'p10k_config_opts'
[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases')
[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob')
[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand')
'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand'
() {
emulate -L zsh -o extended_glob
# Unset all configuration options.
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
# Zsh >= 5.1 is required.
[[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return
# Left prompt segments.
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(prompt_char dir vcs)
# Right prompt segments.
typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=()
# Basic style options that define the overall prompt look.
typeset -g POWERLEVEL9K_BACKGROUND= # transparent background
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_{LEFT,RIGHT}_WHITESPACE= # no surrounding whitespace
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SUBSEGMENT_SEPARATOR=' ' # separate segments with a space
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_SEPARATOR= # no end-of-line symbol
typeset -g POWERLEVEL9K_VISUAL_IDENTIFIER_EXPANSION= # no segment icons
# Green prompt symbol if the last command succeeded.
typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS}_FOREGROUND=green
# Red prompt symbol if the last command failed.
typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS}_FOREGROUND=red
# Prompt symbol: bold arrow.
typeset -g POWERLEVEL9K_PROMPT_CHAR_CONTENT_EXPANSION='%B➜ '
# Cyan current directory.
typeset -g POWERLEVEL9K_DIR_FOREGROUND=cyan
# Show only the last segment of the current directory.
typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_last
# Bold directory.
typeset -g POWERLEVEL9K_DIR_CONTENT_EXPANSION='%B$P9K_CONTENT'
# Git status formatter.
function my_git_formatter() {
emulate -L zsh
if [[ -n $P9K_CONTENT ]]; then
# If P9K_CONTENT is not empty, it's either "loading" or from vcs_info (not from
# gitstatus plugin). VCS_STATUS_* parameters are not available in this case.
typeset -g my_git_format=$P9K_CONTENT
else
# Use VCS_STATUS_* parameters to assemble Git status. See reference:
# https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh.
typeset -g my_git_format="${1+%B%4F}git:(${1+%1F}"
my_git_format+=${${VCS_STATUS_LOCAL_BRANCH:-${VCS_STATUS_COMMIT[1,8]}}//\%/%%}
my_git_format+="${1+%4F})"
if (( VCS_STATUS_NUM_CONFLICTED || VCS_STATUS_NUM_STAGED ||
VCS_STATUS_NUM_UNSTAGED || VCS_STATUS_NUM_UNTRACKED )); then
my_git_format+=" ${1+%3F}"
fi
fi
}
functions -M my_git_formatter 2>/dev/null
# Disable the default Git status formatting.
typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true
# Install our own Git status formatter.
typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${$((my_git_formatter(1)))+${my_git_format}}'
typeset -g POWERLEVEL9K_VCS_LOADING_CONTENT_EXPANSION='${$((my_git_formatter()))+${my_git_format}}'
# Grey Git status when loading.
typeset -g POWERLEVEL9K_VCS_LOADING_FOREGROUND=246
# Instant prompt mode.
#
# - off: Disable instant prompt. Choose this if you've tried instant prompt and found
# it incompatible with your zsh configuration files.
# - quiet: Enable instant prompt and don't print warnings when detecting console output
# during zsh initialization. Choose this if you've read and understood
# https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
# - verbose: Enable instant prompt and print a warning when detecting console output during
# zsh initialization. Choose this if you've never tried instant prompt, haven't
# seen the warning, or if you are unsure what this all means.
typeset -g POWERLEVEL9K_INSTANT_PROMPT=verbose
# Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized.
# For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload
# can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you
# really need it.
typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true
# If p10k is already loaded, reload configuration.
# This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true.
(( ! $+functions[p10k] )) || p10k reload
}
# Tell `p10k configure` which file it should overwrite.
typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a}
(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]}
'builtin' 'unset' 'p10k_config_opts'

View file

@ -0,0 +1 @@
ref: refs/heads/master

View file

@ -0,0 +1,11 @@
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://github.com/romkatv/powerlevel10k.git
fetch = +refs/heads/master:refs/remotes/origin/master
[branch "master"]
remote = origin
merge = refs/heads/master

View file

@ -0,0 +1 @@
Unnamed repository; edit this file 'description' to name the repository.

View file

@ -0,0 +1,15 @@
#!/bin/sh
#
# An example hook script to check the commit log message taken by
# applypatch from an e-mail message.
#
# The hook should exit with non-zero status after issuing an
# appropriate message if it wants to stop the commit. The hook is
# allowed to edit the commit message file.
#
# To enable this hook, rename this file to "applypatch-msg".
. git-sh-setup
commitmsg="$(git rev-parse --git-path hooks/commit-msg)"
test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"}
:

View file

@ -0,0 +1,24 @@
#!/bin/sh
#
# An example hook script to check the commit log message.
# Called by "git commit" with one argument, the name of the file
# that has the commit message. The hook should exit with non-zero
# status after issuing an appropriate message if it wants to stop the
# commit. The hook is allowed to edit the commit message file.
#
# To enable this hook, rename this file to "commit-msg".
# Uncomment the below to add a Signed-off-by line to the message.
# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
# hook is more suited to it.
#
# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
# This example catches duplicate Signed-off-by lines.
test "" = "$(grep '^Signed-off-by: ' "$1" |
sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
echo >&2 Duplicate Signed-off-by lines.
exit 1
}

Some files were not shown because too many files have changed in this diff Show more