local H={}H.theme="\111\110\101\100\097\114\107"H.global_statusline=true H.grepprg="\114\103 --\104\105\100\100\101\110 --\118\105\109\103\114\101\112 --\115\109\097\114\116-\099\097\115\101 --"H.number=true H.mouse="\110\118"H.relative_number=true H.showtabline=1 H.list=false H.listchars="\101\111\108\058\194\172\044\116\097\098\058\062\194\183\044\116\114\097\105\108\058~\044\101\120\116\101\110\100\115\058\062\044\112\114\101\099\101\100\101\115\058\060"H.enable_noice=false H.dashboard_recent_files=5 H.disable_dashboard_header=false H.disable_dashboard_quick_links=false H.merge_conflict_tool="\103\105\116-\099\111\110\102\108\105\099\116"H.treesitter_ensure_installed={"\098\097\115\104";"\099\109\097\107\101";"\099\115\115","\100\111\099\107\101\114\102\105\108\101","\103\111","\104\099\108","\104\116\109\108";"\106\097\118\097\115\099\114\105\112\116","\116\121\112\101\115\099\114\105\112\116","\106\115\111\110";"\107\111\116\108\105\110";"\108\101\100\103\101\114";"\108\117\097","\109\097\114\107\100\111\119\110","\109\097\114\107\100\111\119\110\095\105\110\108\105\110\101","\113\117\101\114\121";"\112\121\116\104\111\110";"\114\101\103\101\120";"\114\117\115\116";"\116\111\109\108";"\118\105\109";"\121\097\109\108";"\097\115\109"}H.lsp_servers={"\100\111\099\107\101\114\108\115","\106\115\111\110\108\115";"\103\111\112\108\115";"\109\097\114\107\115\109\097\110";"\112\121\114\105\103\104\116";"\108\117\097\095\108\115","\114\117\115\116\095\097\110\097\108\121\122\101\114";"\116\097\105\108\119\105\110\100\099\115\115";"\116\101\114\114\097\102\111\114\109\108\115";"\116\101\120\108\097\098";"\116\121\112\115\116\095\108\115\112","\121\097\109\108\108\115";"\099\108\097\110\103\100","\097\115\109\095\108\115\112"}H.tools={"\098\108\097\099\107";"\112\114\101\116\116\105\101\114","\115\116\121\108\117\097","\115\104\102\109\116";"\099\111\100\101\115\112\101\108\108";"\121\097\109\108\102\109\116";"\102\105\120\106\115\111\110";"\099\112\112\108\105\110\116";"\101\115\108\105\110\116\095\100";"\115\101\108\101\110\101";"\116\102\108\105\110\116";"\121\097\109\108\108\105\110\116";"\114\117\102\102","\103\111\105\109\112\111\114\116\115-\114\101\118\105\115\101\114";"\100\101\098\117\103\112\121";"\099\111\100\101\108\108\100\098","\103\111\102\117\109\112\116";"\103\111\105\109\112\111\114\116\115";"\103\111\109\111\100\105\102\121\116\097\103\115","\103\111\108\097\110\103\099\105-\108\105\110\116";"\103\111\116\101\115\116\115";"\105\102\101\114\114";"\105\109\112\108"}H.telescope_grep_hidden=true H.telescope_file_ignore_patterns={"\037\046\055\122","\037\046\074\080\069\071";"\037\046\074\080\071","\037\046\077\079\086","\037\046\082\065\070";"\037\046\098\117\114\112","\037\046\098\122\050","\037\046\099\097\099\104\101","\037\046\099\108\097\115\115","\037\046\100\108\108","\037\046\100\111\099\120","\037\046\100\121\108\105\098","\037\046\101\112\117\098","\037\046\101\120\101","\037\046\102\108\097\099","\037\046\105\099\111","\037\046\105\112\121\110\098","\037\046\106\097\114";"\037\046\106\112\101\103";"\037\046\106\112\103","\037\046\108\111\099\107","\037\046\109\107\118","\037\046\109\111\118";"\037\046\109\112\052","\037\046\111\116\102";"\037\046\112\100\098";"\037\046\112\100\102","\037\046\112\110\103";"\037\046\114\097\114","\037\046\115\113\108\105\116\101\051","\037\046\115\118\103","\037\046\116\097\114";"\037\046\116\097\114\046\103\122";"\037\046\116\116\102";"\037\046\119\101\098\112";"\037\046\122\105\112";"\046\103\105\116\047","\046\103\114\097\100\108\101\047","\046\105\100\101\097\047";"\046\115\101\116\116\105\110\103\115\047";"\046\118\097\108\101\047","\046\118\115\099\111\100\101\047","\095\095\112\121\099\097\099\104\101\095\095\047\042";"\098\117\105\108\100\047";"\101\110\118\047","\103\114\097\100\108\101\047";"\110\111\100\101\095\109\111\100\117\108\101\115\047";"\115\109\097\108\108\106\114\101\095\042\047\042";"\116\097\114\103\101\116\047","\118\101\110\100\111\114\047\042"}return H
---- [[ Setting options ]]
---- See `:help vim.o`
---- NOTE: You can change these options as you wish!
--
---- Set highlight on search
--vim.o.hlsearch = false
--
---- Make line numbers default and relative
--vim.wo.number = true
--vim.wo.relativenumber = true
--
---- Enable mouse mode
--vim.o.mouse = 'a'
--
---- Enable break indent
--vim.o.breakindent = true
--
---- Save undo history
--vim.o.undofile = true
--
---- Case-insensitive searching UNLESS \C or capital in search
--vim.o.ignorecase = true
--vim.o.smartcase = true
--
---- Keep signcolumn on by default
--vim.wo.signcolumn = 'yes'
--
---- Decrease update time
--vim.o.updatetime = 250
--vim.o.timeout = true
--vim.o.timeoutlen = 300
--
---- Set completeopt to have a better completion experience
--vim.o.completeopt = 'menuone,noselect'
--
---- NOTE: You should make sure your terminal supports this
--vim.o.termguicolors = true
--
---- disable netrw at the very start of your init.lua
--vim.g.loaded_netrw = 1
--vim.g.loaded_netrwPlugin = 1
--
----vim.opt.encoding="utf-8"
----vim.g.airline_powerline_fonts = 1
local M = {}

-- theme: nightfox, tokyonight, tundra, kanagawa, oxocarbon; default is catppuccin
-- refer to the themes settings file for different styles
M.theme = 'onedark'
-- Toggle global status line
M.global_statusline = true
-- use rg instead of grep
M.grepprg = 'rg --hidden --vimgrep --smart-case --'
-- set numbered lines
M.number = true
-- enable mouse see :h mouse
M.mouse = 'nv'
-- set relative numbered lines
M.relative_number = true
-- always show tabs; 0 never, 1 only if at least two tab pages, 2 always
M.showtabline = 1
-- enable or disable listchars
M.list = false
-- which list chars to schow
M.listchars = 'eol:¬,tab:>·,trail:~,extends:>,precedes:<'
-- Noice heavily changes the Neovim UI ...
-- NOTE: Disabled it for now, as noice was freezing Neovim very often
M.enable_noice = false
-- Number of recent files shown in dashboard
-- 0 disables showing recent files
M.dashboard_recent_files = 5
-- disable the header of the dashboard
M.disable_dashboard_header = false
-- disable quick links of the dashboard
M.disable_dashboard_quick_links = false
-- which tool to use for handling git merge conflicts
-- choose between "git-conflict" and "diffview"
M.merge_conflict_tool = 'git-conflict'
-- treesitter parsers to be installed
-- one of "all", "maintained" (parsers with maintainers), or a list of languages
M.treesitter_ensure_installed = {
  'bash',
  'cmake',
  'css',
  'dockerfile',
  'go',
  'hcl',
  'html',
  -- 'java',
  'javascript',
  'typescript',
  'json',
  'kotlin',
  'ledger',
  'lua',
  'markdown',
  'markdown_inline',
  'query',
  'python',
  'regex',
  'rust',
  -- 'terraform',
  'toml',
  'vim',
  'yaml',
  'asm',
}

-- LSPs that should be installed by Mason-lspconfig.
-- Any other lsp not supported by Mason needs to be
-- setup directly on lsp/lsp.lua module.
M.lsp_servers = {
  -- 'bashls',
  'dockerls',
  'jsonls',
  'gopls',
  'marksman',
  'pyright',
  'lua_ls',
  'rust_analyzer',
  'tailwindcss',
  'terraformls',
  'texlab',
  -- 'tsserver',
  'typst_lsp',
  'yamlls',
  -- 'flow',
  'clangd',
  'asm_lsp',
}

-- Tools that should be installed by Mason
M.tools = {
  -- Formatter
  'black',
  'prettier',
  'stylua',
  'shfmt',
  'codespell',
  'yamlfmt',
  'fixjson',
  -- Linter
  'cpplint',
  'eslint_d',
  -- 'shellcheck',
  'selene',
  'tflint',
  'yamllint',
  'ruff',
  'goimports-reviser',
  -- DAP
  'debugpy',
  'codelldb',
  -- Go
  'gofumpt',
  'goimports',
  'gomodifytags',
  'golangci-lint',
  'gotests',
  'iferr',
  'impl',
}

-- enable greping in hidden files
M.telescope_grep_hidden = true

-- which patterns to ignore in file switcher
M.telescope_file_ignore_patterns = {
  '%.7z',
  '%.JPEG',
  '%.JPG',
  '%.MOV',
  '%.RAF',
  '%.burp',
  '%.bz2',
  '%.cache',
  '%.class',
  '%.dll',
  '%.docx',
  '%.dylib',
  '%.epub',
  '%.exe',
  '%.flac',
  '%.ico',
  '%.ipynb',
  '%.jar',
  '%.jpeg',
  '%.jpg',
  '%.lock',
  '%.mkv',
  '%.mov',
  '%.mp4',
  '%.otf',
  '%.pdb',
  '%.pdf',
  '%.png',
  '%.rar',
  '%.sqlite3',
  '%.svg',
  '%.tar',
  '%.tar.gz',
  '%.ttf',
  '%.webp',
  '%.zip',
  '.git/',
  '.gradle/',
  '.idea/',
  '.settings/',
  '.vale/',
  '.vscode/',
  '__pycache__/*',
  'build/',
  'env/',
  'gradle/',
  'node_modules/',
  'smalljre_*/*',
  'target/',
  'vendor/*',
}

return M
