default-config.lua 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. CONFIG_PATH = vim.fn.stdpath('config')
  2. DATA_PATH = vim.fn.stdpath('data')
  3. CACHE_PATH = vim.fn.stdpath('cache')
  4. O = {
  5. auto_close_tree = 0,
  6. auto_complete = true,
  7. colorscheme = 'lunar',
  8. hidden_files = true,
  9. wrap_lines = false,
  10. number = true,
  11. relative_number = true,
  12. cursorline = true,
  13. shell = 'bash',
  14. timeoutlen = 100,
  15. nvim_tree_disable_netrw = 0,
  16. extras = false,
  17. ignore_case = true,
  18. smart_case = true,
  19. lushmode = false,
  20. -- @usage pass a table with your desired languages
  21. treesitter = {
  22. ensure_installed = "all",
  23. ignore_install = {"haskell"},
  24. highlight = {enabled = true},
  25. rainbow = {enabled = false}
  26. },
  27. database = {save_location = '~/.config/nvcode_db', auto_execute = 1},
  28. plugin = {
  29. hop = {active = false},
  30. dial = {active = false},
  31. dashboard = {active = false},
  32. matchup = {active = false},
  33. colorizer = {active = false},
  34. numb = {active = false},
  35. zen = {active = false},
  36. ts_playground = {active = false},
  37. indent_line = {active = false},
  38. ts_context_commentstring = {active = false},
  39. symbol_outline = {active = false},
  40. debug = {active = false},
  41. bqf = {active = false},
  42. trouble = {active = false},
  43. floatterm = {active = false},
  44. spectre = {active = false},
  45. lsp_rooter = {active = false},
  46. markdown_preview = {active = false},
  47. codi = {active = false},
  48. telescope_fzy = {active = false},
  49. sanegx = {active = false},
  50. ranger = {active = false},
  51. todo_comments = {active = false},
  52. lsp_colors = {active = false},
  53. git_blame = {active = false},
  54. gist = {active = false},
  55. gitlinker = {active = false},
  56. lazygit = {active = false},
  57. octo = {active = false},
  58. lush = {active = false},
  59. diffview = {active = false},
  60. bracey = {active = false},
  61. telescope_project = {active = false},
  62. dap_install = {active = false}
  63. },
  64. lang = {
  65. python = {
  66. linter = '',
  67. -- @usage can be 'yapf', 'black'
  68. formatter = '',
  69. autoformat = false,
  70. isort = false,
  71. diagnostics = {
  72. virtual_text = {spacing = 0, prefix = ""},
  73. signs = true,
  74. underline = true
  75. },
  76. analysis = {
  77. type_checking = "basic",
  78. auto_search_paths = true,
  79. use_library_code_types = true
  80. }
  81. },
  82. dart = {
  83. sdk_path = '/usr/lib/dart/bin/snapshots/analysis_server.dart.snapshot'
  84. },
  85. lua = {
  86. -- @usage can be 'lua-format'
  87. formatter = '',
  88. autoformat = false,
  89. diagnostics = {
  90. virtual_text = {spacing = 0, prefix = ""},
  91. signs = true,
  92. underline = true
  93. }
  94. },
  95. sh = {
  96. -- @usage can be 'shellcheck'
  97. linter = '',
  98. -- @usage can be 'shfmt'
  99. formatter = '',
  100. autoformat = false,
  101. diagnostics = {
  102. virtual_text = {spacing = 0, prefix = ""},
  103. signs = true,
  104. underline = true
  105. }
  106. },
  107. tsserver = {
  108. -- @usage can be 'eslint'
  109. linter = '',
  110. -- @usage can be 'prettier'
  111. formatter = '',
  112. autoformat = false,
  113. diagnostics = {
  114. virtual_text = {spacing = 0, prefix = ""},
  115. signs = true,
  116. underline = true
  117. }
  118. },
  119. json = {
  120. -- @usage can be 'prettier'
  121. formatter = '',
  122. autoformat = false,
  123. diagnostics = {
  124. virtual_text = {spacing = 0, prefix = ""},
  125. signs = true,
  126. underline = true
  127. }
  128. },
  129. tailwindcss = {
  130. filetypes = {
  131. 'html', 'css', 'scss', 'javascript', 'javascriptreact',
  132. 'typescript', 'typescriptreact'
  133. }
  134. },
  135. clang = {
  136. diagnostics = {
  137. virtual_text = {spacing = 0, prefix = ""},
  138. signs = true,
  139. underline = true
  140. }
  141. },
  142. ruby = {
  143. diagnostics = {
  144. virtualtext = {spacing = 0, prefix = ""},
  145. signs = true,
  146. underline = true
  147. },
  148. filetypes = {'rb', 'erb', 'rakefile'}
  149. },
  150. go = {},
  151. elixir = {},
  152. vim = {},
  153. yaml = {},
  154. terraform = {},
  155. rust = {
  156. linter = '',
  157. formatter = '',
  158. autoformat = false,
  159. diagnostics = {
  160. virtual_text = {spacing = 0, prefix = ""},
  161. signs = true,
  162. underline = true
  163. }
  164. },
  165. svelte = {},
  166. php = {},
  167. latex = {},
  168. kotlin = {},
  169. html = {},
  170. elm = {},
  171. emmet = {active = true},
  172. graphql = {},
  173. efm = {},
  174. docker = {},
  175. cmake = {},
  176. java = {},
  177. css = {
  178. formatter = '',
  179. autoformat = false,
  180. virtual_text = true
  181. }
  182. },
  183. dashboard = {
  184. custom_header = {
  185. '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
  186. '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣶⣾⠿⠿⠟⠛⠛⠛⠛⠿⠿⣿⣷⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
  187. '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⡿⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠿⣷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
  188. '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⡿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⢿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
  189. '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠒⠂⠉⠉⠉⠉⢩⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
  190. '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡀⠀⠀⠀⠀⠀⢰⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
  191. '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠠⡀⠀⠀⢀⣾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
  192. '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠢⢀⣸⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
  193. '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡧⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
  194. '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⠈⠁⠒⠤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
  195. '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣇⠀⠀⠀⠀⠀⠀⠉⠢⠤⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⡟⠈⠑⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
  196. '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠑⠒⠤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⡇⠀⠀⢀⣣⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
  197. '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠒⠢⠤⠄⣀⣀⠀⠀⠀⢠⣿⡟⠀⠀⠀⣺⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
  198. '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠇⠀⠀⠀⠀⠀⣤⡄⠀⠀⢠⣤⡄⠀⢨⣭⣠⣤⣤⣤⡀⠀⠀⢀⣤⣤⣤⣤⡄⠀⠀⠀⣤⣄⣤⣤⣤⠀⠀⣿⣯⠉⠉⣿⡟⠀⠈⢩⣭⣤⣤⠀⠀⠀⠀⣠⣤⣤⣤⣄⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
  199. '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠀⠀⠀⠀⠀⠀⣿⠃⠀⠀⣸⣿⠁⠀⣿⣿⠉⠀⠈⣿⡇⠀⠀⠛⠋⠀⠀⢹⣿⠀⠀⠀⣿⠏⠀⠸⠿⠃⠀⣿⣿⠀⣰⡟⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⣿⡟⢸⣿⡇⢀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
  200. '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⡇⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⣿⡟⠀⢠⣿⡇⠀⠀⢰⣿⡇⠀⣰⣾⠟⠛⠛⣻⡇⠀⠀⢸⡿⠀⠀⠀⠀⠀⠀⢻⣿⢰⣿⠀⠀⠀⠀⠀⠀⣾⡇⠀⠀⠀⢸⣿⠇⢸⣿⠀⢸⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
  201. '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣧⣤⣤⣤⡄⠀⠘⣿⣤⣤⡤⣿⠇⠀⢸⣿⠁⠀⠀⣼⣿⠀⠀⢿⣿⣤⣤⠔⣿⠃⠀⠀⣾⡇⠀⠀⠀⠀⠀⠀⢸⣿⣿⠋⠀⠀⠀⢠⣤⣤⣿⣥⣤⡄⠀⣼⣿⠀⣸⡏⠀⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀',
  202. '⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠉⠉⠁⠀⠀⠈⠉⠉⠀⠉⠀⠀⠈⠉⠀⠀⠀⠉⠉⠀⠀⠀⠉⠉⠁⠈⠉⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠀⠀⠀⠀⠈⠉⠉⠉⠉⠉⠁⠀⠉⠁⠀⠉⠁⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀'
  203. },
  204. footer = {'chrisatmachine.com'}
  205. }
  206. }
  207. -- TODO find a new home for these autocommands
  208. require('lv-utils').define_augroups({
  209. _general_settings = {
  210. {
  211. 'TextYankPost', '*',
  212. 'lua require(\'vim.highlight\').on_yank({higroup = \'Search\', timeout = 200})'
  213. }, {
  214. 'BufWinEnter', '*',
  215. 'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'
  216. },
  217. {
  218. 'BufRead', '*',
  219. 'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'
  220. }, {
  221. 'BufNewFile', '*',
  222. 'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'
  223. }, {'VimLeavePre', '*', 'set title set titleold='},
  224. {'FileType', 'qf', 'set nobuflisted'}
  225. },
  226. -- _solidity = {
  227. -- {'BufWinEnter', '.sol', 'setlocal filetype=solidity'}, {'BufRead', '*.sol', 'setlocal filetype=solidity'},
  228. -- {'BufNewFile', '*.sol', 'setlocal filetype=solidity'}
  229. -- },
  230. -- _gemini = {
  231. -- {'BufWinEnter', '.gmi', 'setlocal filetype=markdown'}, {'BufRead', '*.gmi', 'setlocal filetype=markdown'},
  232. -- {'BufNewFile', '*.gmi', 'setlocal filetype=markdown'}
  233. -- },
  234. _markdown = {
  235. {'FileType', 'markdown', 'setlocal wrap'},
  236. {'FileType', 'markdown', 'setlocal spell'}
  237. },
  238. _buffer_bindings = {
  239. {'FileType', 'floaterm', 'nnoremap <silent> <buffer> q :q<CR>'}
  240. }
  241. })