Compare commits
40 commits
a5794fb120
...
3fbe570a30
Author | SHA1 | Date | |
---|---|---|---|
3fbe570a30 | |||
f0d002be9b | |||
bcb531fbf0 | |||
a531dec993 | |||
74b3a2ace1 | |||
ac0876ad01 | |||
29eeb59e34 | |||
1ca716532e | |||
9d2c7f0f57 | |||
17fb434078 | |||
ece124254c | |||
536d90a899 | |||
d2cdedac8e | |||
f45d04ab60 | |||
95d6b47659 | |||
46126fedea | |||
ffe6f03f22 | |||
55dc68c2ef | |||
7934bca6db | |||
387786bc07 | |||
142f765dfe | |||
db0ee73a05 | |||
46b2b2d7c4 | |||
b4707c10cf | |||
be0d9e3b66 | |||
5a44773a3d | |||
f9c2b86c6d | |||
2765de277a | |||
9bd532e06b | |||
a12fc1d1c9 | |||
0b9f37df6c | |||
4dc7cf3e67 | |||
a43c5c1776 | |||
f11fdc928c | |||
c9aff6788d | |||
da79eabf09 | |||
b70909f429 | |||
744b1ad145 | |||
fe559c2214 | |||
8a48c56206 |
16 changed files with 2987 additions and 28 deletions
130
flake.nix
130
flake.nix
|
@ -90,7 +90,7 @@
|
|||
name,
|
||||
mkNvimPlugin,
|
||||
...
|
||||
} @ packageDef: {
|
||||
}: {
|
||||
# to define and use a new category, simply add a new list to a set here,
|
||||
# and later, you will include categoryname = true; in the set you
|
||||
# provide when you build the package using this builder function.
|
||||
|
@ -102,22 +102,56 @@
|
|||
# this includes LSPs
|
||||
lspsAndRuntimeDeps = with pkgs; {
|
||||
general = [
|
||||
universal-ctags
|
||||
(callPackage ./packages/erb-lint {})
|
||||
(callPackage ./packages/markdown-toc {})
|
||||
alejandra
|
||||
biome
|
||||
curl
|
||||
lazygit
|
||||
ripgrep
|
||||
docker-compose-language-service
|
||||
dockerfile-language-server-nodejs
|
||||
fd
|
||||
stdenv.cc.cc
|
||||
gofumpt
|
||||
gopls
|
||||
gotools
|
||||
hadolint
|
||||
helm-ls
|
||||
lazygit
|
||||
lua-language-server
|
||||
nil # I would go for nixd but lazy chooses this one idk
|
||||
markdownlint-cli2
|
||||
marksman
|
||||
nil
|
||||
nodePackages.prettier
|
||||
nushell
|
||||
php84Packages.php-codesniffer
|
||||
php84Packages.php-cs-fixer
|
||||
phpactor
|
||||
pyright
|
||||
ripgrep
|
||||
rubocop
|
||||
ruby-lsp
|
||||
rubyPackages.erb-formatter
|
||||
ruff
|
||||
sqlfluff
|
||||
stdenv.cc.cc
|
||||
stylelint
|
||||
stylua
|
||||
tailwindcss-language-server
|
||||
taplo
|
||||
terraform-ls
|
||||
tflint
|
||||
universal-ctags
|
||||
vscode-langservers-extracted
|
||||
vtsls
|
||||
vue-language-server
|
||||
yaml-language-server
|
||||
];
|
||||
};
|
||||
|
||||
# NOTE: lazy doesnt care if these are in startupPlugins or optionalPlugins
|
||||
# also you dont have to download everything via nix if you dont want.
|
||||
# but you have the option, and that is demonstrated here.
|
||||
startupPlugins = with pkgs.vimPlugins; with pkgs.neovimPlugins; {
|
||||
startupPlugins = with pkgs.vimPlugins;
|
||||
with pkgs.neovimPlugins; {
|
||||
general = [
|
||||
# LazyVim
|
||||
lazy-nvim
|
||||
|
@ -191,6 +225,82 @@
|
|||
name = "LuaSnip";
|
||||
}
|
||||
|
||||
# Mini-comment
|
||||
{
|
||||
plugin = mini-comment;
|
||||
name = "mini.comment";
|
||||
}
|
||||
nvim-ts-context-commentstring
|
||||
|
||||
# Mini-surround
|
||||
{
|
||||
plugin = mini-surround;
|
||||
name = "mini.surround";
|
||||
}
|
||||
|
||||
# Neogen
|
||||
neogen
|
||||
|
||||
# yanky.nvim
|
||||
yanky-nvim
|
||||
|
||||
# Editor
|
||||
# Aerial
|
||||
aerial-nvim
|
||||
|
||||
# Dial
|
||||
dial-nvim
|
||||
|
||||
# Navic
|
||||
nvim-navic
|
||||
|
||||
# Neo-tree
|
||||
neo-tree-nvim
|
||||
|
||||
# Refactoring
|
||||
refactoring-nvim
|
||||
|
||||
# Lang
|
||||
# Go
|
||||
nvim-dap-go
|
||||
neotest-golang
|
||||
|
||||
# Helm
|
||||
vim-helm
|
||||
|
||||
# JSON & YAML
|
||||
SchemaStore-nvim
|
||||
|
||||
# Markdown
|
||||
markdown-preview-nvim
|
||||
render-markdown-nvim
|
||||
|
||||
# Python
|
||||
neotest-python
|
||||
|
||||
# Ruby
|
||||
neotest-rspec
|
||||
|
||||
# Sql
|
||||
vim-dadbod
|
||||
vim-dadbod-completion
|
||||
vim-dadbod-ui
|
||||
|
||||
# Test
|
||||
# Neotest
|
||||
neotest
|
||||
nvim-nio
|
||||
|
||||
# UI
|
||||
# Mini Animate
|
||||
{
|
||||
plugin = mini-animate;
|
||||
name = "mini.animate";
|
||||
}
|
||||
|
||||
# Treesitter-context
|
||||
nvim-treesitter-context
|
||||
|
||||
# Custom
|
||||
rose-pine
|
||||
diffview-nvim
|
||||
|
@ -210,9 +320,9 @@
|
|||
# shared libraries to be added to LD_LIBRARY_PATH
|
||||
# variable available to nvim runtime
|
||||
sharedLibraries = {
|
||||
general = with pkgs; [
|
||||
# libgit2
|
||||
];
|
||||
# general = with pkgs; [
|
||||
# libgit2
|
||||
# ];
|
||||
};
|
||||
|
||||
# environmentVariables:
|
||||
|
|
88
init.lua
88
init.lua
|
@ -21,35 +21,87 @@ local lazyOptions = {
|
|||
},
|
||||
}
|
||||
|
||||
-- NOTE: this the lazy wrapper. Use it like require('lazy').setup() but with an extra
|
||||
-- argument, the path to lazy.nvim as downloaded by nix, or nil, before the normal arguments.
|
||||
-- NOTE: this the lazy wrapper. Use it like require('lazy').setup() but with an
|
||||
-- extra argument, the path to lazy.nvim as downloaded by nix, or nil, before
|
||||
-- the normal arguments.
|
||||
require('nixCatsUtils.lazyCat').setup(nixCats.pawsible { 'allPlugins', 'start', 'lazy.nvim' }, {
|
||||
{ 'LazyVim/LazyVim', import = 'lazyvim.plugins' },
|
||||
-- disable mason.nvim while using nix
|
||||
-- precompiled binaries do not agree with nixos, and we can just make nix install this stuff for us.
|
||||
{ 'williamboman/mason-lspconfig.nvim', enabled = require('nixCatsUtils').lazyAdd(true, false) },
|
||||
{ 'williamboman/mason.nvim', enabled = require('nixCatsUtils').lazyAdd(true, false) },
|
||||
{
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
build = require('nixCatsUtils').lazyAdd ':TSUpdate',
|
||||
opts_extend = require('nixCatsUtils').lazyAdd(nil, false),
|
||||
opts = {
|
||||
-- nix already ensured they were installed, and we would need to change the parser_install_dir if we wanted to use it instead.
|
||||
-- so we just disable install and do it via nix.
|
||||
ensure_installed = require('nixCatsUtils').lazyAdd({ 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'vim', 'vimdoc' }, false),
|
||||
auto_install = require('nixCatsUtils').lazyAdd(true, false),
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
'folke/lazydev.nvim',
|
||||
ft = 'lua',
|
||||
opts = {
|
||||
library = {
|
||||
-- adds type hints for nixCats global, but LazyDev is just nice in general
|
||||
-- Adds type hints for nixCats global, but LazyDev is just nice in
|
||||
-- general.
|
||||
{ path = (nixCats.nixCatsPath or '') .. '/lua', words = { 'nixCats' } },
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- Extras.
|
||||
{ import = 'lazyvim.plugins.extras.coding.luasnip' },
|
||||
{ import = 'lazyvim.plugins.extras.coding.mini-comment' },
|
||||
{ import = 'lazyvim.plugins.extras.coding.mini-surround' },
|
||||
{ import = 'lazyvim.plugins.extras.coding.neogen' },
|
||||
{ import = 'lazyvim.plugins.extras.coding.yanky' },
|
||||
|
||||
{ import = 'lazyvim.plugins.extras.editor.aerial' },
|
||||
{ import = 'lazyvim.plugins.extras.editor.dial' },
|
||||
{ import = 'lazyvim.plugins.extras.editor.navic' },
|
||||
{ import = 'lazyvim.plugins.extras.editor.neo-tree' },
|
||||
{ import = 'lazyvim.plugins.extras.editor.refactoring' },
|
||||
|
||||
{ import = 'lazyvim.plugins.extras.formatting.biome' },
|
||||
{ import = 'lazyvim.plugins.extras.formatting.prettier' },
|
||||
|
||||
{ import = 'lazyvim.plugins.extras.lang.docker' },
|
||||
{ import = 'lazyvim.plugins.extras.lang.git' },
|
||||
{ import = 'lazyvim.plugins.extras.lang.go' },
|
||||
{ import = 'lazyvim.plugins.extras.lang.helm' },
|
||||
{ import = 'lazyvim.plugins.extras.lang.json' },
|
||||
{ import = 'lazyvim.plugins.extras.lang.markdown' },
|
||||
{ import = 'lazyvim.plugins.extras.lang.nix' },
|
||||
{ import = 'lazyvim.plugins.extras.lang.nushell' },
|
||||
{ import = 'lazyvim.plugins.extras.lang.php' },
|
||||
{ import = 'lazyvim.plugins.extras.lang.python' },
|
||||
{ import = 'lazyvim.plugins.extras.lang.ruby' },
|
||||
{ import = 'lazyvim.plugins.extras.lang.sql' },
|
||||
{ import = 'lazyvim.plugins.extras.lang.tailwind' },
|
||||
{ import = 'lazyvim.plugins.extras.lang.terraform' },
|
||||
{ import = 'lazyvim.plugins.extras.lang.toml' },
|
||||
{ import = 'lazyvim.plugins.extras.lang.typescript' },
|
||||
{ import = 'lazyvim.plugins.extras.lang.vue' },
|
||||
{ import = 'lazyvim.plugins.extras.lang.yaml' },
|
||||
|
||||
{ import = 'lazyvim.plugins.extras.linting.eslint' },
|
||||
|
||||
{ import = 'lazyvim.plugins.extras.test.core' },
|
||||
|
||||
{ import = 'lazyvim.plugins.extras.ui.mini-animate' },
|
||||
{ import = 'lazyvim.plugins.extras.ui.treesitter-context' },
|
||||
|
||||
-- These need to be after extras to prevent extras from overwriting them.
|
||||
|
||||
-- Disable mason.nvim while using nix.
|
||||
-- Precompiled binaries do not agree with nixos, and we can just make nix
|
||||
-- install this stuff for us.
|
||||
{ 'williamboman/mason-lspconfig.nvim', enabled = require('nixCatsUtils').lazyAdd(true, false) },
|
||||
{ 'williamboman/mason.nvim', enabled = require('nixCatsUtils').lazyAdd(true, false) },
|
||||
|
||||
{
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
build = require('nixCatsUtils').lazyAdd ':TSUpdate',
|
||||
opts_extend = require('nixCatsUtils').lazyAdd(nil, false),
|
||||
opts = {
|
||||
-- Nix already ensured they were installed, and we would need to change
|
||||
-- the parser_install_dir if we wanted to use it instead.
|
||||
-- So we just disable install and do it via nix.
|
||||
ensure_installed = require('nixCatsUtils').lazyAdd({ 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'vim', 'vimdoc' }, false),
|
||||
auto_install = require('nixCatsUtils').lazyAdd(true, false),
|
||||
},
|
||||
},
|
||||
|
||||
-- import/override with your plugins
|
||||
{ import = 'plugins' },
|
||||
}, lazyOptions)
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
vim.o.textwidth = 80
|
||||
vim.o.colorcolumn = '+1'
|
||||
|
||||
vim.g.lazyvim_prettier_needs_config = true
|
||||
|
|
15
lua/plugins/conform-nvim.lua
Normal file
15
lua/plugins/conform-nvim.lua
Normal file
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
{
|
||||
'stevearc/conform.nvim',
|
||||
|
||||
---@class ConformOpts
|
||||
opts = {
|
||||
formatters_by_ft = {
|
||||
css = { 'stylelint' },
|
||||
liquid = { 'prettier' },
|
||||
nix = { 'alejandra' },
|
||||
scss = { 'stylelint' },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
14
lua/plugins/luasnip.lua
Normal file
14
lua/plugins/luasnip.lua
Normal file
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
'L3MON4D3/LuaSnip',
|
||||
opts = {
|
||||
store_selection_keys = '<TAB>',
|
||||
update_events = 'TextChanged,TextChangedI',
|
||||
},
|
||||
config = function(_, opts)
|
||||
require('luasnip').setup(opts)
|
||||
|
||||
require('luasnip.loaders.from_lua').load { paths = {
|
||||
nixCats.configDir .. '/lua/snippets',
|
||||
} }
|
||||
end,
|
||||
}
|
18
lua/plugins/neo-tree-nvim.lua
Normal file
18
lua/plugins/neo-tree-nvim.lua
Normal file
|
@ -0,0 +1,18 @@
|
|||
return {
|
||||
{
|
||||
'nvim-neo-tree/neo-tree.nvim',
|
||||
opts = {
|
||||
close_if_last_window = true,
|
||||
window = {
|
||||
width = 30,
|
||||
},
|
||||
filesystem = {
|
||||
filtered_items = {
|
||||
hide_dotfiles = false,
|
||||
hide_gitignored = false,
|
||||
hide_hidden = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
19
lua/plugins/nvim-lspconfig.lua
Normal file
19
lua/plugins/nvim-lspconfig.lua
Normal file
|
@ -0,0 +1,19 @@
|
|||
return {
|
||||
{
|
||||
'neovim/nvim-lspconfig',
|
||||
opts = {
|
||||
servers = {
|
||||
nil_ls = {
|
||||
settings = {
|
||||
['nil'] = {
|
||||
flake = {
|
||||
autoArchive = true,
|
||||
autoEvalInputs = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
101
lua/snippets/fish.lua
Normal file
101
lua/snippets/fish.lua
Normal file
|
@ -0,0 +1,101 @@
|
|||
local ls = require 'luasnip'
|
||||
local s = ls.snippet
|
||||
local t = ls.text_node
|
||||
local i = ls.insert_node
|
||||
local f = ls.function_node
|
||||
local fmt = require('luasnip.extras.fmt').fmt
|
||||
local fill = require('snippets.helpers').fill
|
||||
|
||||
return {
|
||||
s({ trig = 'dc', desc = 'divider comment' }, f(fill, {}, { user_args = { '#%- ' } })),
|
||||
|
||||
s({ trig = '#!', desc = 'shebang' }, t '#!/usr/bin/env fish'),
|
||||
|
||||
s(
|
||||
{ trig = 'if', desc = 'if ... end' },
|
||||
fmt(
|
||||
[[
|
||||
if {}
|
||||
{}
|
||||
end
|
||||
]],
|
||||
{ i(1), i(0) }
|
||||
)
|
||||
),
|
||||
|
||||
s(
|
||||
{ trig = 'elif', desc = 'else if ...' },
|
||||
fmt(
|
||||
[[
|
||||
else if {}
|
||||
{}
|
||||
]],
|
||||
{ i(1), i(0) }
|
||||
)
|
||||
),
|
||||
|
||||
s(
|
||||
{ trig = 'fori', desc = 'for ... in ... end' },
|
||||
fmt(
|
||||
[[
|
||||
for {} in {}
|
||||
{}
|
||||
end
|
||||
]],
|
||||
{ i(1), i(2), i(0) }
|
||||
)
|
||||
),
|
||||
|
||||
s(
|
||||
{ trig = 'wh', desc = 'while ... end' },
|
||||
fmt(
|
||||
[[
|
||||
while {}
|
||||
{}
|
||||
end
|
||||
]],
|
||||
{ i(1), i(0) }
|
||||
)
|
||||
),
|
||||
|
||||
s(
|
||||
{ trig = 'wht', desc = 'while true ... end' },
|
||||
fmt(
|
||||
[[
|
||||
while true
|
||||
{}
|
||||
end
|
||||
]],
|
||||
{ i(0) }
|
||||
)
|
||||
),
|
||||
|
||||
s(
|
||||
{ trig = 'sw', desc = 'switch ... case ... end' },
|
||||
fmt(
|
||||
[[
|
||||
switch {}
|
||||
case {}
|
||||
{}
|
||||
end
|
||||
]],
|
||||
{ i(1), i(2), i(0) }
|
||||
)
|
||||
),
|
||||
|
||||
s(
|
||||
{ trig = 'func', desc = 'function ... end' },
|
||||
fmt(
|
||||
[[
|
||||
function {}
|
||||
{}
|
||||
end
|
||||
]],
|
||||
{ i(1), i(0) }
|
||||
)
|
||||
),
|
||||
|
||||
s({ trig = 'dn', desc = '&>/dev/null' }, t '&>/dev/null'),
|
||||
|
||||
s({ trig = 'abbr', desc = 'abbr -a ... --position ...' }, fmt('abbr -a {} --position {} "{}"', { i(1), i(2, 'command'), i(3) })),
|
||||
}
|
40
lua/snippets/helpers.lua
Normal file
40
lua/snippets/helpers.lua
Normal file
|
@ -0,0 +1,40 @@
|
|||
local ls = require 'luasnip'
|
||||
local sn = ls.snippet_node
|
||||
local i = ls.insert_node
|
||||
|
||||
local M = {}
|
||||
|
||||
M.fill = function(_, parent, args)
|
||||
local title = ''
|
||||
local chars = {}
|
||||
|
||||
if type(parent.snippet.env.LS_SELECT_RAW) == 'table' then
|
||||
for _, ele in ipairs(parent.snippet.env.LS_SELECT_RAW) do
|
||||
title = title .. ele .. ' '
|
||||
end
|
||||
end
|
||||
|
||||
for str in string.gmatch(args, '([^%%]+)') do
|
||||
table.insert(chars, str)
|
||||
end
|
||||
|
||||
local snip = chars[1] .. ' ' .. title
|
||||
|
||||
local _, c = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
|
||||
while #snip < (vim.bo.tw - c - 1) do
|
||||
snip = snip .. chars[2]
|
||||
end
|
||||
|
||||
return snip
|
||||
end
|
||||
|
||||
M.get_visual = function(_, parent)
|
||||
if #parent.snippet.env.LS_SELECT_RAW > 0 then
|
||||
return sn(nil, i(1, parent.snippet.env.LS_SELECT_RAW))
|
||||
else -- If LS_SELECT_RAW is empty, return a blank insert node
|
||||
return sn(nil, i(1))
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
140
lua/snippets/nix.lua
Normal file
140
lua/snippets/nix.lua
Normal file
|
@ -0,0 +1,140 @@
|
|||
local ls = require 'luasnip'
|
||||
local s = ls.snippet
|
||||
local i = ls.insert_node
|
||||
local f = ls.function_node
|
||||
local fmta = require('luasnip.extras.fmt').fmta
|
||||
local rep = require('luasnip.extras').rep
|
||||
local fill = require('snippets.helpers').fill
|
||||
|
||||
return {
|
||||
s({ trig = 'dc', desc = 'divider comment' }, f(fill, {}, { user_args = { '#%- ' } })),
|
||||
|
||||
s(
|
||||
{ trig = 'mexpr', desc = 'Basic module expression' },
|
||||
fmta(
|
||||
[[
|
||||
{ <>... }:
|
||||
{
|
||||
<>
|
||||
}
|
||||
]],
|
||||
{ i(1), i(0) }
|
||||
)
|
||||
),
|
||||
|
||||
s(
|
||||
{ trig = 'sov', desc = 'Snowfall lib overlay' },
|
||||
fmta(
|
||||
[[
|
||||
<>: final: prev: {
|
||||
<>
|
||||
}
|
||||
]],
|
||||
{ i(1, '_'), i(0) }
|
||||
)
|
||||
),
|
||||
|
||||
s(
|
||||
{ trig = 'sovi', desc = 'Snowfall lib overlay pulling from inputs' },
|
||||
fmta(
|
||||
[[
|
||||
{inputs, ...}: final: prev: {
|
||||
<> = inputs.<>.<>."${prev.system}".<>;
|
||||
}
|
||||
]],
|
||||
{ i(1, 'pkg'), i(2, 'input'), i(3, 'packages'), i(4, 'default') }
|
||||
)
|
||||
),
|
||||
|
||||
s(
|
||||
{ trig = 'sovc', desc = 'Snowfall lib overlay pulling from channels' },
|
||||
fmta(
|
||||
[[
|
||||
{channels, ...}: final: prev: {
|
||||
inherit (channels.<>) <>;
|
||||
}
|
||||
]],
|
||||
{ i(1, 'unstable'), i(2, 'pkg') }
|
||||
)
|
||||
),
|
||||
|
||||
s(
|
||||
{ trig = 'ovr', desc = 'Override' },
|
||||
fmta(
|
||||
[[
|
||||
<> = prev.<>.override {
|
||||
<>
|
||||
};
|
||||
]],
|
||||
{ i(1, 'pkg'), rep(1), i(0) }
|
||||
)
|
||||
),
|
||||
|
||||
s(
|
||||
{ trig = 'ovra', desc = 'OverrideAttrs' },
|
||||
fmta(
|
||||
[[
|
||||
<> = prev.<>.overrideAttrs (old: {
|
||||
<>
|
||||
});
|
||||
]],
|
||||
{ i(1, 'pkg'), rep(1), i(0) }
|
||||
)
|
||||
),
|
||||
|
||||
s(
|
||||
{ trig = 'hpkg', desc = 'home.packages list' },
|
||||
fmta(
|
||||
[[
|
||||
home.packages = with pkgs; [
|
||||
<>
|
||||
];<>
|
||||
]],
|
||||
{ i(1), i(0) }
|
||||
)
|
||||
),
|
||||
|
||||
s(
|
||||
{ trig = 'ospkg', desc = 'NixOS environment.systemPackages list' },
|
||||
fmta(
|
||||
[[
|
||||
environment.systemPackages = with pkgs; [
|
||||
<>
|
||||
];<>
|
||||
]],
|
||||
{ i(1), i(0) }
|
||||
)
|
||||
),
|
||||
|
||||
s(
|
||||
{ trig = 'smod', desc = 'Snowfall lib module' },
|
||||
fmta(
|
||||
[[
|
||||
{
|
||||
lib,
|
||||
config,<>
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.marleyos.<>.<>;
|
||||
in
|
||||
{
|
||||
options.marleyos.<>.<>.enable = lib.mkEnableOption "<>";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
<>
|
||||
};
|
||||
}
|
||||
]],
|
||||
{
|
||||
i(1), -- extra args
|
||||
i(2), -- group
|
||||
i(3), -- mod
|
||||
rep(2), -- group
|
||||
rep(3), -- mod
|
||||
rep(3), -- mod
|
||||
i(0), -- end
|
||||
}
|
||||
)
|
||||
),
|
||||
}
|
3
packages/erb-lint/Gemfile
Normal file
3
packages/erb-lint/Gemfile
Normal file
|
@ -0,0 +1,3 @@
|
|||
source 'https://rubygems.org'
|
||||
|
||||
gem 'erb_lint'
|
105
packages/erb-lint/Gemfile.lock
Normal file
105
packages/erb-lint/Gemfile.lock
Normal file
|
@ -0,0 +1,105 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
actionview (8.0.1)
|
||||
activesupport (= 8.0.1)
|
||||
builder (~> 3.1)
|
||||
erubi (~> 1.11)
|
||||
rails-dom-testing (~> 2.2)
|
||||
rails-html-sanitizer (~> 1.6)
|
||||
activesupport (8.0.1)
|
||||
base64
|
||||
benchmark (>= 0.3)
|
||||
bigdecimal
|
||||
concurrent-ruby (~> 1.0, >= 1.3.1)
|
||||
connection_pool (>= 2.2.5)
|
||||
drb
|
||||
i18n (>= 1.6, < 2)
|
||||
logger (>= 1.4.2)
|
||||
minitest (>= 5.1)
|
||||
securerandom (>= 0.3)
|
||||
tzinfo (~> 2.0, >= 2.0.5)
|
||||
uri (>= 0.13.1)
|
||||
ast (2.4.2)
|
||||
base64 (0.2.0)
|
||||
benchmark (0.4.0)
|
||||
better_html (2.1.1)
|
||||
actionview (>= 6.0)
|
||||
activesupport (>= 6.0)
|
||||
ast (~> 2.0)
|
||||
erubi (~> 1.4)
|
||||
parser (>= 2.4)
|
||||
smart_properties
|
||||
bigdecimal (3.1.9)
|
||||
builder (3.3.0)
|
||||
concurrent-ruby (1.3.5)
|
||||
connection_pool (2.5.0)
|
||||
crass (1.0.6)
|
||||
drb (2.2.1)
|
||||
erb_lint (0.9.0)
|
||||
activesupport
|
||||
better_html (>= 2.0.1)
|
||||
parser (>= 2.7.1.4)
|
||||
rainbow
|
||||
rubocop (>= 1)
|
||||
smart_properties
|
||||
erubi (1.13.1)
|
||||
i18n (1.14.7)
|
||||
concurrent-ruby (~> 1.0)
|
||||
json (2.10.1)
|
||||
language_server-protocol (3.17.0.4)
|
||||
lint_roller (1.1.0)
|
||||
logger (1.6.6)
|
||||
loofah (2.24.0)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.12.0)
|
||||
mini_portile2 (2.8.8)
|
||||
minitest (5.25.4)
|
||||
nokogiri (1.18.3)
|
||||
mini_portile2 (~> 2.8.2)
|
||||
racc (~> 1.4)
|
||||
parallel (1.26.3)
|
||||
parser (3.3.7.1)
|
||||
ast (~> 2.4.1)
|
||||
racc
|
||||
racc (1.8.1)
|
||||
rails-dom-testing (2.2.0)
|
||||
activesupport (>= 5.0.0)
|
||||
minitest
|
||||
nokogiri (>= 1.6)
|
||||
rails-html-sanitizer (1.6.2)
|
||||
loofah (~> 2.21)
|
||||
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
|
||||
rainbow (3.1.1)
|
||||
regexp_parser (2.10.0)
|
||||
rubocop (1.73.2)
|
||||
json (~> 2.3)
|
||||
language_server-protocol (~> 3.17.0.2)
|
||||
lint_roller (~> 1.1.0)
|
||||
parallel (~> 1.10)
|
||||
parser (>= 3.3.0.2)
|
||||
rainbow (>= 2.2.2, < 4.0)
|
||||
regexp_parser (>= 2.9.3, < 3.0)
|
||||
rubocop-ast (>= 1.38.0, < 2.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (>= 2.4.0, < 4.0)
|
||||
rubocop-ast (1.38.1)
|
||||
parser (>= 3.3.1.0)
|
||||
ruby-progressbar (1.13.0)
|
||||
securerandom (0.4.1)
|
||||
smart_properties (1.17.0)
|
||||
tzinfo (2.0.6)
|
||||
concurrent-ruby (~> 1.0)
|
||||
unicode-display_width (3.1.4)
|
||||
unicode-emoji (~> 4.0, >= 4.0.4)
|
||||
unicode-emoji (4.0.4)
|
||||
uri (1.0.3)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
erb_lint
|
||||
|
||||
BUNDLED WITH
|
||||
2.5.22
|
10
packages/erb-lint/default.nix
Normal file
10
packages/erb-lint/default.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{bundlerApp}:
|
||||
# This may fail on non x86_64-linux-gnu systems. I had to run bundix as
|
||||
# BUNDLE_FORCE_RUBY_PLATFORM=true nix run nixpkgs#bundix -- --lock otherwise I
|
||||
# got hash mismatch errors. Any of the fixes I could find online to avoid that
|
||||
# didn't work.
|
||||
bundlerApp {
|
||||
pname = "erb_lint";
|
||||
exes = ["erb_lint"];
|
||||
gemdir = ./.;
|
||||
}
|
406
packages/erb-lint/gemset.nix
Normal file
406
packages/erb-lint/gemset.nix
Normal file
|
@ -0,0 +1,406 @@
|
|||
{
|
||||
actionview = {
|
||||
dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "12jgwrbkflrwklil3hv17iaamr9zsq161m0spy4sg7m4bkgf619h";
|
||||
type = "gem";
|
||||
};
|
||||
version = "8.0.1";
|
||||
};
|
||||
activesupport = {
|
||||
dependencies = ["base64" "benchmark" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "logger" "minitest" "securerandom" "tzinfo" "uri"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0drfj44a16r86clrrqz3vqmg93qri6bqghjm21ac6jn2853cfnzx";
|
||||
type = "gem";
|
||||
};
|
||||
version = "8.0.1";
|
||||
};
|
||||
ast = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.4.2";
|
||||
};
|
||||
base64 = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.2.0";
|
||||
};
|
||||
benchmark = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0jl71qcgamm96dzyqk695j24qszhcc7liw74qc83fpjljp2gh4hg";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.4.0";
|
||||
};
|
||||
better_html = {
|
||||
dependencies = ["actionview" "activesupport" "ast" "erubi" "parser" "smart_properties"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0mdgwlc02f43svy92p0k5v1hipibpzxcdjm774lkz2j8s58kav04";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.1.1";
|
||||
};
|
||||
bigdecimal = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1k6qzammv9r6b2cw3siasaik18i6wjc5m0gw5nfdc6jj64h79z1g";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.1.9";
|
||||
};
|
||||
builder = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.3.0";
|
||||
};
|
||||
concurrent-ruby = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1ipbrgvf0pp6zxdk5ascp6i29aybz2bx9wdrlchjmpx6mhvkwfw1";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.5";
|
||||
};
|
||||
connection_pool = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1z7bag6zb2vwi7wp2bkdkmk7swkj6zfnbsnc949qq0wfsgw94fr3";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.5.0";
|
||||
};
|
||||
crass = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.6";
|
||||
};
|
||||
drb = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.2.1";
|
||||
};
|
||||
erb_lint = {
|
||||
dependencies = ["activesupport" "better_html" "parser" "rainbow" "rubocop" "smart_properties"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0cbwr8iv6d9g50w12a7ccvcrqk5clz4mxa3cspqd3s1rv05f9dfz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.9.0";
|
||||
};
|
||||
erubi = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1naaxsqkv5b3vklab5sbb9sdpszrjzlfsbqpy7ncbnw510xi10m0";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.13.1";
|
||||
};
|
||||
i18n = {
|
||||
dependencies = ["concurrent-ruby"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "03sx3ahz1v5kbqjwxj48msw3maplpp2iyzs22l4jrzrqh4zmgfnf";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.14.7";
|
||||
};
|
||||
json = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1p4l5ycdxfsr8b51gnvlvhq6s21vmx9z4x617003zbqv3bcqmj6x";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.10.1";
|
||||
};
|
||||
language_server-protocol = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0scnz2fvdczdgadvjn0j9d49118aqm3hj66qh8sd2kv6g1j65164";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.17.0.4";
|
||||
};
|
||||
lint_roller = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "11yc0d84hsnlvx8cpk4cbj6a4dz9pk0r1k29p0n1fz9acddq831c";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.0";
|
||||
};
|
||||
logger = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "05s008w9vy7is3njblmavrbdzyrwwc1fsziffdr58w9pwqj8sqfx";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.6.6";
|
||||
};
|
||||
loofah = {
|
||||
dependencies = ["crass" "nokogiri"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "07pfa5kgl7k2hxlzzn89qna6bmiyrxlchgbzi0885frsi08agrk1";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.24.0";
|
||||
};
|
||||
mini_portile2 = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0x8asxl83msn815lwmb2d7q5p29p7drhjv5va0byhk60v9n16iwf";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.8.8";
|
||||
};
|
||||
minitest = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0izrg03wn2yj3gd76ck7ifbm9h2kgy8kpg4fk06ckpy4bbicmwlw";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.25.4";
|
||||
};
|
||||
nokogiri = {
|
||||
dependencies = ["mini_portile2" "racc"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0npx535cs8qc33n0lpbbwl0p9fi3a5bczn6ayqhxvknh9yqw77vb";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.18.3";
|
||||
};
|
||||
parallel = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1vy7sjs2pgz4i96v5yk9b7aafbffnvq7nn419fgvw55qlavsnsyq";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.26.3";
|
||||
};
|
||||
parser = {
|
||||
dependencies = ["ast" "racc"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "18dcwrcnddvi8gl3hmbsb2cj1l7afxk2lh3jmhj90l95h1hn3gkx";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.3.7.1";
|
||||
};
|
||||
racc = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.8.1";
|
||||
};
|
||||
rails-dom-testing = {
|
||||
dependencies = ["activesupport" "minitest" "nokogiri"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0fx9dx1ag0s1lr6lfr34lbx5i1bvn3bhyf3w3mx6h7yz90p725g5";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.2.0";
|
||||
};
|
||||
rails-html-sanitizer = {
|
||||
dependencies = ["loofah" "nokogiri"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0q55i6mpad20m2x1lg5pkqfpbmmapk0sjsrvr1sqgnj2hb5f5z1m";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.6.2";
|
||||
};
|
||||
rainbow = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.1.1";
|
||||
};
|
||||
regexp_parser = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0qccah61pjvzyyg6mrp27w27dlv6vxlbznzipxjcswl7x3fhsvyb";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.10.0";
|
||||
};
|
||||
rubocop = {
|
||||
dependencies = ["json" "language_server-protocol" "lint_roller" "parallel" "parser" "rainbow" "regexp_parser" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0p9bq6dpvakndircsr4415vrp76hxjy1lxzy4d1j75xscl9ipk9m";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.73.2";
|
||||
};
|
||||
rubocop-ast = {
|
||||
dependencies = ["parser"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1zjpv3kw4ciwk0dh43zj17ws318vnirby1clmcy6j9mvr4mbxv40";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.38.1";
|
||||
};
|
||||
ruby-progressbar = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0cwvyb7j47m7wihpfaq7rc47zwwx9k4v7iqd9s1xch5nm53rrz40";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.13.0";
|
||||
};
|
||||
securerandom = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1cd0iriqfsf1z91qg271sm88xjnfd92b832z49p1nd542ka96lfc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.4.1";
|
||||
};
|
||||
smart_properties = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0jrqssk9qhwrpq41arm712226vpcr458xv6xaqbk8cp94a0kycpr";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.17.0";
|
||||
};
|
||||
tzinfo = {
|
||||
dependencies = ["concurrent-ruby"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.0.6";
|
||||
};
|
||||
unicode-display_width = {
|
||||
dependencies = ["unicode-emoji"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1has87asspm6m9wgqas8ghhhwyf2i1yqrqgrkv47xw7jq3qjmbwc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.1.4";
|
||||
};
|
||||
unicode-emoji = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0ajk6rngypm3chvl6r0vwv36q1931fjqaqhjjya81rakygvlwb1c";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.0.4";
|
||||
};
|
||||
uri = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "04bhfvc25b07jaiaf62yrach7khhr5jlr5bx6nygg8pf11329wp9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.3";
|
||||
};
|
||||
}
|
34
packages/markdown-toc/default.nix
Normal file
34
packages/markdown-toc/default.nix
Normal file
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
lib,
|
||||
buildNpmPackage,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
buildNpmPackage rec {
|
||||
pname = "markdown-toc";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jonschlinkert";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-CgyAxXcLrdk609qoXjyUgpA+NIlWrkBsE7lf5YnPagQ=";
|
||||
};
|
||||
|
||||
# Add the package-lock.json.
|
||||
postPatch =
|
||||
# sh
|
||||
''
|
||||
ln -s ${./package-lock.json} package-lock.json
|
||||
'';
|
||||
|
||||
npmDepsHash = "sha256-ZuR3zPaOM4CkuzBin9F3lj1qeD1w42g6NwSMQFambI4=";
|
||||
|
||||
npmPackFlags = ["--ignore-scripts"];
|
||||
dontNpmBuild = true;
|
||||
|
||||
meta = {
|
||||
description = "Generate a markdown TOC (table of contents) with Remarkable.";
|
||||
homepage = "https://github.com/jonschlinkert/markdown-toc";
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
}
|
1890
packages/markdown-toc/package-lock.json
generated
Normal file
1890
packages/markdown-toc/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue