retrovim 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/.conda/retrovim.yaml +259 -0
  2. package/.conda/terax.icns +0 -0
  3. package/.conda/terax.ico +0 -0
  4. package/.conda/terax.png +0 -0
  5. package/.github/workflows/release.yml +95 -0
  6. package/.gitmodules +3 -0
  7. package/.npm/kanata_touchcursor.js +28 -0
  8. package/.npm/nvim.js +26 -0
  9. package/.npm/yazi.js +26 -0
  10. package/.npm/zsh.js +17 -0
  11. package/.pip/kanata_touchcursor/__init__.py +28 -0
  12. package/.pip/nvim/__init__.py +31 -0
  13. package/.pip/yazi/__init__.py +31 -0
  14. package/.pip/zsh/__init__.py +22 -0
  15. package/CHANGELOG.md +26 -0
  16. package/LICENSE +674 -0
  17. package/README.md +336 -0
  18. package/kanata/touchcursor.kbd +164 -0
  19. package/nvim/init.lua +813 -0
  20. package/nvim/plugins/mini.nvim/.github/DISCUSSION_TEMPLATE/q-a.yml +72 -0
  21. package/nvim/plugins/mini.nvim/.github/ISSUE_TEMPLATE/bug-report.yml +136 -0
  22. package/nvim/plugins/mini.nvim/.github/ISSUE_TEMPLATE/config.yml +5 -0
  23. package/nvim/plugins/mini.nvim/.github/ISSUE_TEMPLATE/feature-request.yml +75 -0
  24. package/nvim/plugins/mini.nvim/.github/PULL_REQUEST_TEMPLATE.md +2 -0
  25. package/nvim/plugins/mini.nvim/.github/workflows/quality-control.yml +150 -0
  26. package/nvim/plugins/mini.nvim/.pre-commit-config.yaml +20 -0
  27. package/nvim/plugins/mini.nvim/.stylua.toml +7 -0
  28. package/nvim/plugins/mini.nvim/.styluaignore +1 -0
  29. package/nvim/plugins/mini.nvim/CHANGELOG.md +1894 -0
  30. package/nvim/plugins/mini.nvim/CODE_OF_CONDUCT.md +132 -0
  31. package/nvim/plugins/mini.nvim/CONTRIBUTING.md +331 -0
  32. package/nvim/plugins/mini.nvim/LICENSE +21 -0
  33. package/nvim/plugins/mini.nvim/MAINTAINING.md +330 -0
  34. package/nvim/plugins/mini.nvim/Makefile +51 -0
  35. package/nvim/plugins/mini.nvim/README.md +261 -0
  36. package/nvim/plugins/mini.nvim/TESTING.md +1011 -0
  37. package/nvim/plugins/mini.nvim/benchmarks/starter/README.md +35 -0
  38. package/nvim/plugins/mini.nvim/benchmarks/starter/benchmark.sh +56 -0
  39. package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_dashboard-alpha.lua +21 -0
  40. package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_dashboard-original.lua +17 -0
  41. package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_dashboard-starter.lua +18 -0
  42. package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_empty.lua +4 -0
  43. package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_starter-default.lua +7 -0
  44. package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_startify-alpha.lua +10 -0
  45. package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_startify-original.lua +7 -0
  46. package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_startify-starter.lua +20 -0
  47. package/nvim/plugins/mini.nvim/benchmarks/starter/install.sh +10 -0
  48. package/nvim/plugins/mini.nvim/benchmarks/starter/make_summary.py +68 -0
  49. package/nvim/plugins/mini.nvim/benchmarks/starter/startup-summary.md +10 -0
  50. package/nvim/plugins/mini.nvim/colors/miniautumn.lua +55 -0
  51. package/nvim/plugins/mini.nvim/colors/minicyan.lua +95 -0
  52. package/nvim/plugins/mini.nvim/colors/minischeme.lua +95 -0
  53. package/nvim/plugins/mini.nvim/colors/minispring.lua +53 -0
  54. package/nvim/plugins/mini.nvim/colors/minisummer.lua +49 -0
  55. package/nvim/plugins/mini.nvim/colors/miniwinter.lua +51 -0
  56. package/nvim/plugins/mini.nvim/colors/randomhue.lua +16 -0
  57. package/nvim/plugins/mini.nvim/doc/mini-ai.txt +889 -0
  58. package/nvim/plugins/mini.nvim/doc/mini-align.txt +923 -0
  59. package/nvim/plugins/mini.nvim/doc/mini-animate.txt +937 -0
  60. package/nvim/plugins/mini.nvim/doc/mini-base16.txt +285 -0
  61. package/nvim/plugins/mini.nvim/doc/mini-basics.txt +359 -0
  62. package/nvim/plugins/mini.nvim/doc/mini-bracketed.txt +622 -0
  63. package/nvim/plugins/mini.nvim/doc/mini-bufremove.txt +123 -0
  64. package/nvim/plugins/mini.nvim/doc/mini-clue.txt +760 -0
  65. package/nvim/plugins/mini.nvim/doc/mini-cmdline.txt +392 -0
  66. package/nvim/plugins/mini.nvim/doc/mini-colors.txt +880 -0
  67. package/nvim/plugins/mini.nvim/doc/mini-comment.txt +230 -0
  68. package/nvim/plugins/mini.nvim/doc/mini-completion.txt +477 -0
  69. package/nvim/plugins/mini.nvim/doc/mini-cursorword.txt +105 -0
  70. package/nvim/plugins/mini.nvim/doc/mini-deps.txt +590 -0
  71. package/nvim/plugins/mini.nvim/doc/mini-diff.txt +661 -0
  72. package/nvim/plugins/mini.nvim/doc/mini-doc.txt +434 -0
  73. package/nvim/plugins/mini.nvim/doc/mini-extra.txt +856 -0
  74. package/nvim/plugins/mini.nvim/doc/mini-files.txt +1018 -0
  75. package/nvim/plugins/mini.nvim/doc/mini-fuzzy.txt +160 -0
  76. package/nvim/plugins/mini.nvim/doc/mini-git.txt +425 -0
  77. package/nvim/plugins/mini.nvim/doc/mini-hipatterns.txt +489 -0
  78. package/nvim/plugins/mini.nvim/doc/mini-hues.txt +420 -0
  79. package/nvim/plugins/mini.nvim/doc/mini-icons.txt +508 -0
  80. package/nvim/plugins/mini.nvim/doc/mini-indentscope.txt +485 -0
  81. package/nvim/plugins/mini.nvim/doc/mini-input.txt +932 -0
  82. package/nvim/plugins/mini.nvim/doc/mini-jump.txt +202 -0
  83. package/nvim/plugins/mini.nvim/doc/mini-jump2d.txt +525 -0
  84. package/nvim/plugins/mini.nvim/doc/mini-keymap.txt +449 -0
  85. package/nvim/plugins/mini.nvim/doc/mini-map.txt +717 -0
  86. package/nvim/plugins/mini.nvim/doc/mini-misc.txt +431 -0
  87. package/nvim/plugins/mini.nvim/doc/mini-move.txt +181 -0
  88. package/nvim/plugins/mini.nvim/doc/mini-notify.txt +434 -0
  89. package/nvim/plugins/mini.nvim/doc/mini-nvim.txt +431 -0
  90. package/nvim/plugins/mini.nvim/doc/mini-operators.txt +472 -0
  91. package/nvim/plugins/mini.nvim/doc/mini-pairs.txt +346 -0
  92. package/nvim/plugins/mini.nvim/doc/mini-pick.txt +1535 -0
  93. package/nvim/plugins/mini.nvim/doc/mini-sessions.txt +239 -0
  94. package/nvim/plugins/mini.nvim/doc/mini-snippets.txt +1291 -0
  95. package/nvim/plugins/mini.nvim/doc/mini-splitjoin.txt +536 -0
  96. package/nvim/plugins/mini.nvim/doc/mini-starter.txt +618 -0
  97. package/nvim/plugins/mini.nvim/doc/mini-statusline.txt +361 -0
  98. package/nvim/plugins/mini.nvim/doc/mini-surround.txt +863 -0
  99. package/nvim/plugins/mini.nvim/doc/mini-tabline.txt +151 -0
  100. package/nvim/plugins/mini.nvim/doc/mini-test.txt +966 -0
  101. package/nvim/plugins/mini.nvim/doc/mini-trailspace.txt +91 -0
  102. package/nvim/plugins/mini.nvim/doc/mini-visits.txt +937 -0
  103. package/nvim/plugins/mini.nvim/logo.png +0 -0
  104. package/nvim/plugins/mini.nvim/lua/mini/ai.lua +2244 -0
  105. package/nvim/plugins/mini.nvim/lua/mini/align.lua +2076 -0
  106. package/nvim/plugins/mini.nvim/lua/mini/animate.lua +2127 -0
  107. package/nvim/plugins/mini.nvim/lua/mini/base16.lua +1752 -0
  108. package/nvim/plugins/mini.nvim/lua/mini/basics.lua +772 -0
  109. package/nvim/plugins/mini.nvim/lua/mini/bracketed.lua +2013 -0
  110. package/nvim/plugins/mini.nvim/lua/mini/bufremove.lua +283 -0
  111. package/nvim/plugins/mini.nvim/lua/mini/clue.lua +2096 -0
  112. package/nvim/plugins/mini.nvim/lua/mini/cmdline.lua +1182 -0
  113. package/nvim/plugins/mini.nvim/lua/mini/colors.lua +2483 -0
  114. package/nvim/plugins/mini.nvim/lua/mini/comment.lua +586 -0
  115. package/nvim/plugins/mini.nvim/lua/mini/completion.lua +2094 -0
  116. package/nvim/plugins/mini.nvim/lua/mini/cursorword.lua +311 -0
  117. package/nvim/plugins/mini.nvim/lua/mini/deps.lua +1660 -0
  118. package/nvim/plugins/mini.nvim/lua/mini/diff.lua +1938 -0
  119. package/nvim/plugins/mini.nvim/lua/mini/doc.lua +1371 -0
  120. package/nvim/plugins/mini.nvim/lua/mini/extra.lua +2290 -0
  121. package/nvim/plugins/mini.nvim/lua/mini/files.lua +3145 -0
  122. package/nvim/plugins/mini.nvim/lua/mini/fuzzy.lua +356 -0
  123. package/nvim/plugins/mini.nvim/lua/mini/git.lua +1737 -0
  124. package/nvim/plugins/mini.nvim/lua/mini/hipatterns.lua +1042 -0
  125. package/nvim/plugins/mini.nvim/lua/mini/hues.lua +2088 -0
  126. package/nvim/plugins/mini.nvim/lua/mini/icons.lua +2254 -0
  127. package/nvim/plugins/mini.nvim/lua/mini/indentscope.lua +1158 -0
  128. package/nvim/plugins/mini.nvim/lua/mini/init.lua +427 -0
  129. package/nvim/plugins/mini.nvim/lua/mini/input.lua +2183 -0
  130. package/nvim/plugins/mini.nvim/lua/mini/jump.lua +609 -0
  131. package/nvim/plugins/mini.nvim/lua/mini/jump2d.lua +1244 -0
  132. package/nvim/plugins/mini.nvim/lua/mini/keymap.lua +880 -0
  133. package/nvim/plugins/mini.nvim/lua/mini/map.lua +1709 -0
  134. package/nvim/plugins/mini.nvim/lua/mini/misc.lua +969 -0
  135. package/nvim/plugins/mini.nvim/lua/mini/move.lua +509 -0
  136. package/nvim/plugins/mini.nvim/lua/mini/notify.lua +938 -0
  137. package/nvim/plugins/mini.nvim/lua/mini/operators.lua +1349 -0
  138. package/nvim/plugins/mini.nvim/lua/mini/pairs.lua +657 -0
  139. package/nvim/plugins/mini.nvim/lua/mini/pick.lua +3876 -0
  140. package/nvim/plugins/mini.nvim/lua/mini/sessions.lua +689 -0
  141. package/nvim/plugins/mini.nvim/lua/mini/snippets.lua +2828 -0
  142. package/nvim/plugins/mini.nvim/lua/mini/splitjoin.lua +1132 -0
  143. package/nvim/plugins/mini.nvim/lua/mini/starter.lua +1599 -0
  144. package/nvim/plugins/mini.nvim/lua/mini/statusline.lua +686 -0
  145. package/nvim/plugins/mini.nvim/lua/mini/surround.lua +2388 -0
  146. package/nvim/plugins/mini.nvim/lua/mini/tabline.lua +564 -0
  147. package/nvim/plugins/mini.nvim/lua/mini/test.lua +2516 -0
  148. package/nvim/plugins/mini.nvim/lua/mini/trailspace.lua +215 -0
  149. package/nvim/plugins/mini.nvim/lua/mini/visits.lua +1577 -0
  150. package/nvim/plugins/mini.nvim/readmes/mini-ai.md +190 -0
  151. package/nvim/plugins/mini.nvim/readmes/mini-align.md +203 -0
  152. package/nvim/plugins/mini.nvim/readmes/mini-animate.md +214 -0
  153. package/nvim/plugins/mini.nvim/readmes/mini-base16.md +198 -0
  154. package/nvim/plugins/mini.nvim/readmes/mini-basics.md +184 -0
  155. package/nvim/plugins/mini.nvim/readmes/mini-bracketed.md +193 -0
  156. package/nvim/plugins/mini.nvim/readmes/mini-bufremove.md +139 -0
  157. package/nvim/plugins/mini.nvim/readmes/mini-clue.md +260 -0
  158. package/nvim/plugins/mini.nvim/readmes/mini-cmdline.md +183 -0
  159. package/nvim/plugins/mini.nvim/readmes/mini-colors.md +169 -0
  160. package/nvim/plugins/mini.nvim/readmes/mini-comment.md +183 -0
  161. package/nvim/plugins/mini.nvim/readmes/mini-completion.md +217 -0
  162. package/nvim/plugins/mini.nvim/readmes/mini-cursorword.md +137 -0
  163. package/nvim/plugins/mini.nvim/readmes/mini-deps.md +271 -0
  164. package/nvim/plugins/mini.nvim/readmes/mini-diff.md +289 -0
  165. package/nvim/plugins/mini.nvim/readmes/mini-doc.md +198 -0
  166. package/nvim/plugins/mini.nvim/readmes/mini-extra.md +158 -0
  167. package/nvim/plugins/mini.nvim/readmes/mini-files.md +247 -0
  168. package/nvim/plugins/mini.nvim/readmes/mini-fuzzy.md +134 -0
  169. package/nvim/plugins/mini.nvim/readmes/mini-git.md +168 -0
  170. package/nvim/plugins/mini.nvim/readmes/mini-hipatterns.md +176 -0
  171. package/nvim/plugins/mini.nvim/readmes/mini-hues.md +285 -0
  172. package/nvim/plugins/mini.nvim/readmes/mini-icons.md +183 -0
  173. package/nvim/plugins/mini.nvim/readmes/mini-indentscope.md +191 -0
  174. package/nvim/plugins/mini.nvim/readmes/mini-input.md +163 -0
  175. package/nvim/plugins/mini.nvim/readmes/mini-jump.md +161 -0
  176. package/nvim/plugins/mini.nvim/readmes/mini-jump2d.md +197 -0
  177. package/nvim/plugins/mini.nvim/readmes/mini-keymap.md +205 -0
  178. package/nvim/plugins/mini.nvim/readmes/mini-map.md +191 -0
  179. package/nvim/plugins/mini.nvim/readmes/mini-misc.md +145 -0
  180. package/nvim/plugins/mini.nvim/readmes/mini-move.md +163 -0
  181. package/nvim/plugins/mini.nvim/readmes/mini-notify.md +175 -0
  182. package/nvim/plugins/mini.nvim/readmes/mini-operators.md +193 -0
  183. package/nvim/plugins/mini.nvim/readmes/mini-pairs.md +158 -0
  184. package/nvim/plugins/mini.nvim/readmes/mini-pick.md +340 -0
  185. package/nvim/plugins/mini.nvim/readmes/mini-sessions.md +164 -0
  186. package/nvim/plugins/mini.nvim/readmes/mini-snippets.md +373 -0
  187. package/nvim/plugins/mini.nvim/readmes/mini-splitjoin.md +194 -0
  188. package/nvim/plugins/mini.nvim/readmes/mini-starter.md +176 -0
  189. package/nvim/plugins/mini.nvim/readmes/mini-statusline.md +155 -0
  190. package/nvim/plugins/mini.nvim/readmes/mini-surround.md +190 -0
  191. package/nvim/plugins/mini.nvim/readmes/mini-tabline.md +156 -0
  192. package/nvim/plugins/mini.nvim/readmes/mini-test.md +175 -0
  193. package/nvim/plugins/mini.nvim/readmes/mini-trailspace.md +137 -0
  194. package/nvim/plugins/mini.nvim/readmes/mini-visits.md +243 -0
  195. package/nvim/plugins/mini.nvim/scripts/dual_log.sh +13 -0
  196. package/nvim/plugins/mini.nvim/scripts/dual_push.sh +15 -0
  197. package/nvim/plugins/mini.nvim/scripts/dual_release.sh +102 -0
  198. package/nvim/plugins/mini.nvim/scripts/dual_sync.sh +115 -0
  199. package/nvim/plugins/mini.nvim/scripts/init-deps-example.lua +59 -0
  200. package/nvim/plugins/mini.nvim/scripts/lint-filename-length.sh +16 -0
  201. package/nvim/plugins/mini.nvim/scripts/lintcommit-ci.sh +18 -0
  202. package/nvim/plugins/mini.nvim/scripts/lintcommit.lua +393 -0
  203. package/nvim/plugins/mini.nvim/scripts/minidoc.lua +57 -0
  204. package/nvim/plugins/mini.nvim/scripts/minimal_init.lua +28 -0
  205. package/nvim/plugins/mini.nvim/scripts/minitest.lua +4 -0
  206. package/package.json +16 -0
  207. package/pyproject.toml +43 -0
  208. package/yazi/init.lua +12 -0
  209. package/yazi/keymap.toml +114 -0
  210. package/yazi/lesskey +5 -0
  211. package/yazi/plugins/bookmarks.yazi/main.lua +86 -0
  212. package/yazi/plugins/cd-git-root.yazi/main.lua +31 -0
  213. package/yazi/plugins/smart-enter.yazi/main.lua +11 -0
  214. package/yazi/theme.toml +26 -0
  215. package/yazi/yazi.toml +15 -0
  216. package/zsh/.zshrc +145 -0
  217. package/zsh/starship.toml +20 -0
  218. package/zsh/zsh-patina.toml +2 -0
@@ -0,0 +1,35 @@
1
+ # Benchmarks for 'mini.starter'
2
+
3
+ This directory contains code and results of benchmarking 'mini.starter' and its alternatives. Target benchmarked value is a total startup time using configuration file (with `-u <init-file>`) corresponding to benchmarked setup. Configuration files are created in three different groups:
4
+
5
+ - 'init_starter-default.lua' and 'init_empty.lua' represent default 'mini.starter' setup and corresponding 'init.lua' without 'mini.starter'.
6
+ - 'init_startify-starter', 'init_startify-original', and 'init_startify-alpha' have comparable output imitating default 'vim-startify' with empty header.
7
+ - 'init_dashboard-starter', 'init_dashboard-original', and 'init_dashboard-alpha' have comparable output imitating default 'dashboard-nvim' enabled keybindings.
8
+
9
+ Summary of startup-times for various 'init' files from 'init-files/' directory can be seen in 'startup-summary.md'. Current benchmark was done with Neovim 0.5.1 on Ubuntu 18.04 (i3-6100). Exact states of plugins used:
10
+
11
+ - [nvim-mini/mini.nvim](https://github.com/nvim-mini/mini.nvim/tree/cfa108eeaead1abd8854a1f1cfb02e72482641ce)
12
+ - [mhinz/vim-startify](https://github.com/mhinz/vim-startify/tree/81e36c352a8deea54df5ec1e2f4348685569bed2)
13
+ - [glepnir/dashboard-nvim](https://github.com/glepnir/dashboard-nvim/tree/ba98ab86487b8eda3b0934b5423759944b5f7ebd)
14
+ - [goolord/alpha-nvim](https://github.com/goolord/alpha-nvim/tree/7a49086bf9197f573b396d4ac46262c02dfb9aec)
15
+
16
+ To rerun locally execute these commands (preferably without anything else running in the background and monitor always on):
17
+
18
+ ```bash
19
+ chmod +x install.sh
20
+ ./install.sh
21
+
22
+ # This will create file 'startup-times.csv' and update 'startup-summary.md'
23
+ # WARNING: this will lead to screen flicker
24
+ chmod +x benchmark.sh
25
+ ./benchmark.sh
26
+ ```
27
+
28
+ Structure:
29
+
30
+ - 'init-files/' - directory with all configuration files being benchmarked. NOTE: all of them contain auto-closing command at the end (`defer_fn(...)`) to most accurately measure startup time. To view its output, remove this command.
31
+ - 'benchmark.sh' - script for performing benchmark which is as close to real-world usage as reasonably possible and computing its summary. Its outputs are 'startup-times.csv' and 'startup-summary.md'. All configuration files are benchmarked in alternate fashion: first 'init' file, second, ..., last, first, etc. WARNING: EXECUTION OF THIS SCRIPT LEADS TO MONITOR FLICKERING WHICH MAY CAUSE HARM TO YOUR HEALTH. This is needed to ensure that Neovim was actually opened and something was drawn.
32
+ - 'install.sh' - script for installing all required plugins. NOTE: run `chmod +x install.sh` to make it executable.
33
+ - 'make_summary.py' - Python script to compute summary statistics of csv-file.
34
+ - 'startup-times.csv' (ignored by Git, latest one can be seen in [this gist](https://gist.github.com/echasnovski/85c334396df6fd0cea7bb42246efb97b)) - csv-file with measured startup times. Each row represent single startup round: when all 'init' files are run alternately. Each column represents startup times of single 'init' file.
35
+ - 'startup-summary.md' - markdown file as output of 'make_summary.py'. Contains summaries of 'startup-times.csv'.
@@ -0,0 +1,56 @@
1
+ #! /bin/bash
2
+
3
+ # Perform benchmarking of startup times with different Neovim 'init' files.
4
+ # Execute `nvim -u <*> --startuptime <*>` several times (as closely to actual
5
+ # usage as possible) in rounds alternating between input 'init' files (to "mix"
6
+ # possible random noise). Store output in .csv file with rows containing
7
+ # startup times for a single round, columns - for a single 'init' file.
8
+
9
+ # WARNING: EXECUTION OF THIS SCRIPT LEADS TO FLICKERING OF SCREEN WHICH WHICH
10
+ # MAY CAUSE HARM TO YOUR HEALTH. This is because every 'init' file leads to an
11
+ # actual opening of Neovim with later automatic closing.
12
+
13
+ # Number of rounds to perform benchmark
14
+ n_rounds=1000
15
+
16
+ # Path to output .csv file with startup times per round
17
+ csv_file=startup-times.csv
18
+
19
+ # Path to output .md file with summary table
20
+ summary_file=startup-summary.md
21
+
22
+ # 'Init' files ids with actual paths computed as 'init-files/init_*.lua'
23
+ init_files=(starter-default empty startify-starter startify-original startify-alpha dashboard-starter dashboard-original dashboard-alpha)
24
+
25
+ function comma_join { local IFS=","; shift; echo "$*"; }
26
+
27
+ function benchmark {
28
+ rm -f "$csv_file"
29
+ touch "$csv_file"
30
+
31
+ local tmp_bench_file="tmp-bench.txt"
32
+ touch "$tmp_bench_file"
33
+
34
+ comma_join -- "$@" >> startup-times.csv
35
+
36
+ for i in $(seq 1 $n_rounds); do
37
+ echo "Round $i"
38
+
39
+ local bench_times=()
40
+
41
+ for init_file in "$@"; do
42
+ nvim -u "init-files/init_$init_file.lua" --startuptime "$tmp_bench_file"
43
+ local b_time=$(tail -n 1 "$tmp_bench_file" | cut -d " " -f1)
44
+ bench_times=("${bench_times[@]}" "$b_time")
45
+ done
46
+
47
+ comma_join -- "${bench_times[@]}" >> "$csv_file"
48
+
49
+ rm "$tmp_bench_file"
50
+ done
51
+ }
52
+
53
+ benchmark "${init_files[@]}"
54
+
55
+ # Produce output summary
56
+ ./make_summary.py "${csv_file}" "${summary_file}"
@@ -0,0 +1,21 @@
1
+ vim.cmd([[set packpath=/tmp/nvim/site]])
2
+ vim.cmd([[packadd alpha-nvim]])
3
+
4
+ local alpha = require('alpha')
5
+ local dashboard = require('alpha.themes.dashboard')
6
+ alpha.setup(dashboard.opts)
7
+
8
+ vim.g.mapleader = ' '
9
+
10
+ -- Some of these keybindings doesn't exactly match with what is shown in
11
+ -- buffer, but this doesn't really matter. Main point is that some keybindings
12
+ -- should be pre-made.
13
+ vim.api.nvim_set_keymap('n', '<Leader>ff', ':Telescope find_files<CR>', { noremap = true, silent = true })
14
+ vim.api.nvim_set_keymap('n', '<Leader>fh', ':Telescope oldfiles<CR>', { noremap = true, silent = true })
15
+ vim.api.nvim_set_keymap('n', '<Leader>fr', ':Telescope jumplist<CR>', { noremap = true, silent = true })
16
+ vim.api.nvim_set_keymap('n', '<Leader>fg', ':Telescope live_grep<CR>', { noremap = true, silent = true })
17
+ vim.api.nvim_set_keymap('n', '<Leader>fm', ':Telescope marks<CR>', { noremap = true, silent = true })
18
+ vim.api.nvim_set_keymap('n', '<Leader>sl', ':Telescope command_history<CR>', { noremap = true, silent = true })
19
+
20
+ -- Close Neovim just after fully opening it. Randomize to make "more real".
21
+ vim.defer_fn(function() vim.cmd([[quit]]) end, 100 + 200 * math.random())
@@ -0,0 +1,17 @@
1
+ vim.cmd([[set packpath=/tmp/nvim/site]])
2
+ vim.cmd([[packadd dashboard-nvim]])
3
+
4
+ vim.g.mapleader = ' '
5
+ vim.g.dashboard_default_executive = 'telescope'
6
+ vim.api.nvim_set_keymap('n', '<Leader>ss', ':<C-u>SessionSave<CR>', {})
7
+ vim.api.nvim_set_keymap('n', '<Leader>sl', ':<C-u>SessionLoad<CR>', {})
8
+
9
+ vim.api.nvim_set_keymap('n', '<Leader>fh', ':DashboardFindHistory<CR>', { noremap = true, silent = true })
10
+ vim.api.nvim_set_keymap('n', '<Leader>ff', ':DashboardFindFile<CR>', { noremap = true, silent = true })
11
+ vim.api.nvim_set_keymap('n', '<Leader>tc', ':DashboardChangeColorscheme<CR>', { noremap = true, silent = true })
12
+ vim.api.nvim_set_keymap('n', '<Leader>fa', ':DashboardFindWord<CR>', { noremap = true, silent = true })
13
+ vim.api.nvim_set_keymap('n', '<Leader>fb', ':DashboardJumpMark<CR>', { noremap = true, silent = true })
14
+ vim.api.nvim_set_keymap('n', '<Leader>cn', ':DashboardNewFile<CR>', { noremap = true, silent = true })
15
+
16
+ -- Close Neovim just after fully opening it. Randomize to make "more real".
17
+ vim.defer_fn(function() vim.cmd([[quit]]) end, 100 + 200 * math.random())
@@ -0,0 +1,18 @@
1
+ vim.cmd([[set packpath=/tmp/nvim/site]])
2
+ vim.cmd([[packadd mini.nvim]])
3
+
4
+ local starter = require('mini.starter')
5
+ starter.setup({
6
+ items = {
7
+ { name = 'Edit file', action = [[enew]], section = 'Actions' },
8
+ { name = 'Quit', action = [[quit]], section = 'Actions' },
9
+ starter.sections.telescope(),
10
+ },
11
+ content_hooks = {
12
+ starter.gen_hook.adding_bullet(),
13
+ starter.gen_hook.aligning('center', 'center'),
14
+ },
15
+ })
16
+
17
+ -- Close Neovim just after fully opening it. Randomize to make "more real".
18
+ vim.defer_fn(function() vim.cmd([[quit]]) end, 100 + 200 * math.random())
@@ -0,0 +1,4 @@
1
+ vim.cmd([[set packpath=/tmp/nvim/site]])
2
+
3
+ -- Close Neovim just after fully opening it. Randomize to make "more real".
4
+ vim.defer_fn(function() vim.cmd([[quit]]) end, 100 + 200 * math.random())
@@ -0,0 +1,7 @@
1
+ vim.cmd([[set packpath=/tmp/nvim/site]])
2
+ vim.cmd([[packadd mini.nvim]])
3
+
4
+ require('mini.starter').setup()
5
+
6
+ -- Close Neovim just after fully opening it. Randomize to make "more real".
7
+ vim.defer_fn(function() vim.cmd([[quit]]) end, 100 + 200 * math.random())
@@ -0,0 +1,10 @@
1
+ vim.cmd([[set packpath=/tmp/nvim/site]])
2
+ vim.cmd([[packadd alpha-nvim]])
3
+
4
+ local alpha = require('alpha')
5
+ local startify = require('alpha.themes.startify')
6
+ startify.nvim_web_devicons.enabled = false
7
+ alpha.setup(startify.opts)
8
+
9
+ -- Close Neovim just after fully opening it. Randomize to make "more real".
10
+ vim.defer_fn(function() vim.cmd([[quit]]) end, 100 + 200 * math.random())
@@ -0,0 +1,7 @@
1
+ vim.cmd([[set packpath=/tmp/nvim/site]])
2
+ vim.cmd([[packadd vim-startify]])
3
+
4
+ vim.g.startify_custom_header = ''
5
+
6
+ -- Close Neovim just after fully opening it. Randomize to make "more real".
7
+ vim.defer_fn(function() vim.cmd([[quit]]) end, 100 + 200 * math.random())
@@ -0,0 +1,20 @@
1
+ vim.cmd([[set packpath=/tmp/nvim/site]])
2
+ vim.cmd([[packadd mini.nvim]])
3
+
4
+ local starter = require('mini.starter')
5
+ starter.setup({
6
+ evaluate_single = true,
7
+ items = {
8
+ starter.sections.builtin_actions(),
9
+ starter.sections.recent_files(10, false),
10
+ starter.sections.recent_files(10, true),
11
+ },
12
+ content_hooks = {
13
+ starter.gen_hook.adding_bullet(),
14
+ starter.gen_hook.indexing('all', { 'Builtin actions' }),
15
+ starter.gen_hook.padding(3, 2),
16
+ },
17
+ })
18
+
19
+ -- Close Neovim just after fully opening it. Randomize to make "more real".
20
+ vim.defer_fn(function() vim.cmd([[quit]]) end, 100 + 200 * math.random())
@@ -0,0 +1,10 @@
1
+ #! /bin/bash
2
+ PLUGINPATH=/tmp/nvim/site/pack/bench/opt
3
+ rm -rf $PLUGINPATH
4
+ mkdir -p $PLUGINPATH
5
+ cd $PLUGINPATH
6
+
7
+ git clone --depth 1 https://github.com/nvim-mini/mini.nvim
8
+ git clone --depth 1 https://github.com/goolord/alpha-nvim
9
+ git clone --depth 1 https://github.com/glepnir/dashboard-nvim
10
+ git clone --depth 1 https://github.com/mhinz/vim-startify
@@ -0,0 +1,68 @@
1
+ #!/usr/bin/env python
2
+ import argparse
3
+ import csv
4
+ import statistics
5
+
6
+
7
+ def read_csv_columns(csv_path):
8
+ with open(csv_path, "r") as csvfile:
9
+ reader = csv.DictReader(csvfile)
10
+ res = {h: [] for h in reader.fieldnames}
11
+ for line_dict in reader:
12
+ for h, val in line_dict.items():
13
+ res[h].append(float(val))
14
+
15
+ return res
16
+
17
+
18
+ def summarise_array(x):
19
+ return {
20
+ "median": statistics.median(x),
21
+ "mean": statistics.mean(x),
22
+ "stdev": statistics.stdev(x),
23
+ "minimum": min(x),
24
+ "maximum": max(x),
25
+ }
26
+
27
+
28
+ def save_md_summary(summary, output_path):
29
+ lines = []
30
+
31
+ row_names = list(summary.keys())
32
+ col_names = ["init file"] + list(summary[row_names[0]].keys())
33
+ lines.append(" | ".join(col_names))
34
+ lines.append(" | ".join("---" for _ in col_names))
35
+
36
+ for row_n in row_names:
37
+ l = [row_n] + [str(round(x, 1)) + 'ms' for x in summary[row_n].values()]
38
+ lines.append(" | ".join(l))
39
+
40
+ lines = ["| " + l + " |\n" for l in lines]
41
+
42
+ with open(output_path, "w") as output:
43
+ for l in lines:
44
+ output.write(l)
45
+
46
+
47
+ def compute_summary(csv_path):
48
+ columns = read_csv_columns(csv_path)
49
+ return {h: summarise_array(x) for h, x in columns.items()}
50
+
51
+
52
+ def main():
53
+ parser = argparse.ArgumentParser()
54
+ parser.add_argument(
55
+ "input_csv", help="path to file with startup times in csv format", type=str
56
+ )
57
+ parser.add_argument(
58
+ "output_md",
59
+ help="output path where markdown summary table will be written",
60
+ type=str,
61
+ )
62
+ args = parser.parse_args()
63
+
64
+ save_md_summary(compute_summary(args.input_csv), args.output_md)
65
+
66
+
67
+ if __name__ == "__main__":
68
+ main()
@@ -0,0 +1,10 @@
1
+ | init file | median | mean | stdev | minimum | maximum |
2
+ | --- | --- | --- | --- | --- | --- |
3
+ | starter-default | 69.0ms | 70.8ms | 4.3ms | 63.6ms | 82.7ms |
4
+ | empty | 64.1ms | 65.8ms | 4.3ms | 60.0ms | 79.4ms |
5
+ | startify-starter | 70.2ms | 71.9ms | 4.5ms | 64.3ms | 85.7ms |
6
+ | startify-original | 80.3ms | 82.2ms | 4.5ms | 76.4ms | 107.2ms |
7
+ | startify-alpha | 72.1ms | 73.8ms | 4.3ms | 66.5ms | 86.9ms |
8
+ | dashboard-starter | 68.4ms | 70.3ms | 4.5ms | 63.3ms | 102.9ms |
9
+ | dashboard-original | 70.6ms | 72.3ms | 4.4ms | 65.5ms | 99.6ms |
10
+ | dashboard-alpha | 69.8ms | 71.5ms | 4.4ms | 64.7ms | 97.2ms |
@@ -0,0 +1,55 @@
1
+ -- "Cooling autumn"
2
+ --
3
+ -- Params for `make_palette` used to make palette (colors in OKLch):
4
+ -- Dark : bg=15-2-315; fg=85-1-100; saturation=fg:'lowmedium', bg:'medium'
5
+ -- Light: bg=90-1-315; fg=20-1-100; saturation=fg:'mediumhigh',bg:'high'
6
+ -- Accent: 'bg'
7
+ --
8
+ -- Notes:
9
+ -- - Fg hues have different temperature than bg for more contrast.
10
+ -- They are tweaked to maximize palette's bg colors visibility.
11
+ -- - Fg is less saturated than spring and summer for "cool" period.
12
+ -- - Bg is more saturated than fg for more legible diffs.
13
+ -- - Accent is 'bg' for `make_palette`, but `accent_bg` is set to `red_bg`
14
+ -- for colorful statusline.
15
+ -- No `accent='red'` to avoid accent be exactly red: improves legibility
16
+ -- of diff "delete" color (like in number column with 'mini.diff').
17
+ local palette
18
+
19
+ --stylua: ignore
20
+ if vim.o.background == 'dark' then
21
+ palette = {
22
+ bg_edge2 = '#0b060e', bg_edge = '#1a141d', bg = '#262029', bg_mid = '#423b45', bg_mid2 = '#5e5762',
23
+ fg_edge2 = '#f3f1e9', fg_edge = '#e5e3db', fg = '#d7d5cd', fg_mid = '#b7b5ad', fg_mid2 = '#97958e',
24
+
25
+ accent = '#e4caf1', accent_bg = '#3a0f2f',
26
+
27
+ red = '#f1c6e2', red_bg = '#3a0f2f',
28
+ orange = '#fac6c1', orange_bg = '#410d0d',
29
+ yellow = '#efcfab', yellow_bg = '#492c00',
30
+ green = '#d3daad', green_bg = '#323700',
31
+ cyan = '#b4e2c7', cyan_bg = '#003c24',
32
+ azure = '#a7e1e8', azure_bg = '#004b51',
33
+ blue = '#b8d9fc', blue_bg = '#00284a',
34
+ purple = '#d7cef9', purple_bg = '#261844',
35
+ }
36
+ else
37
+ palette = {
38
+ bg_edge2 = '#f8f4fa', bg_edge = '#eeeaf0', bg = '#e5e1e7', bg_mid = '#c5c1c7', bg_mid2 = '#a4a0a6',
39
+ fg_edge2 = '#0e0d09', fg_edge = '#1f1f1a', fg = '#2f2e29', fg_mid = '#4a4944', fg_mid2 = '#686661',
40
+
41
+ accent = '#431256', accent_bg = '#ffb0e9',
42
+
43
+ red = '#52073f', red_bg = '#ffb0e9',
44
+ orange = '#5c0207', orange_bg = '#ffaba1',
45
+ yellow = '#6c4300', yellow_bg = '#ffca87',
46
+ green = '#4b5400', green_bg = '#ddf069',
47
+ cyan = '#005e3d', cyan_bg = '#7bffc2',
48
+ azure = '#006a74', azure_bg = '#7df1ff',
49
+ blue = '#003b6d', blue_bg = '#92c8ff',
50
+ purple = '#351962', purple_bg = '#cab3ff',
51
+ }
52
+ end
53
+
54
+ require('mini.hues').apply_palette(palette)
55
+ vim.g.colors_name = 'miniautumn'
@@ -0,0 +1,95 @@
1
+ -- Color scheme 'minicyan'
2
+ -- Derived from base16 (https://github.com/chriskempson/base16) and
3
+ -- mini_palette palette generator
4
+ local use_cterm, palette
5
+
6
+ -- Dark palette is an output of 'MiniBase16.mini_palette':
7
+ -- - Background '#0A2A2A' (LCh(uv) = 15-10-192)
8
+ -- - Foreground '#D0D0D0' (Lch(uv) = 83-0-0)
9
+ -- - Accent chroma 50
10
+ if vim.o.background == 'dark' then
11
+ palette = {
12
+ base00 = '#0a2a2a',
13
+ base01 = '#324747',
14
+ base02 = '#556868',
15
+ base03 = '#788a8a',
16
+ base04 = '#bbbbbb',
17
+ base05 = '#d0d0d0',
18
+ base06 = '#e6e6e6',
19
+ base07 = '#fcfcfc',
20
+ base08 = '#ebcd91',
21
+ base09 = '#9f8340',
22
+ base0A = '#209870',
23
+ base0B = '#82e3ba',
24
+ base0C = '#bb6d9b',
25
+ base0D = '#a9d4ff',
26
+ base0E = '#ffb9e5',
27
+ base0F = '#598ab9',
28
+ }
29
+ use_cterm = {
30
+ base00 = 235,
31
+ base01 = 238,
32
+ base02 = 241,
33
+ base03 = 102,
34
+ base04 = 250,
35
+ base05 = 252,
36
+ base06 = 254,
37
+ base07 = 231,
38
+ base08 = 186,
39
+ base09 = 136,
40
+ base0A = 29,
41
+ base0B = 115,
42
+ base0C = 132,
43
+ base0D = 153,
44
+ base0E = 218,
45
+ base0F = 67,
46
+ }
47
+ end
48
+
49
+ -- Light palette is an 'inverted dark', output of 'MiniBase16.mini_palette':
50
+ -- - Background '#C0D2D2' (LCh(uv) = 83-10-192)
51
+ -- - Foreground '#262626' (Lch(uv) = 15-0-0)
52
+ -- - Accent chroma 80
53
+ if vim.o.background == 'light' then
54
+ palette = {
55
+ base00 = '#c0d2d2',
56
+ base01 = '#9badad',
57
+ base02 = '#778989',
58
+ base03 = '#546767',
59
+ base04 = '#353535',
60
+ base05 = '#262626',
61
+ base06 = '#181818',
62
+ base07 = '#040404',
63
+ base08 = '#402100',
64
+ base09 = '#855f00',
65
+ base0A = '#007d3c',
66
+ base0B = '#003d00',
67
+ base0C = '#b12985',
68
+ base0D = '#003fb6',
69
+ base0E = '#7e0052',
70
+ base0F = '#006cb4',
71
+ }
72
+ use_cterm = {
73
+ base00 = 252,
74
+ base01 = 248,
75
+ base02 = 102,
76
+ base03 = 241,
77
+ base04 = 237,
78
+ base05 = 235,
79
+ base06 = 234,
80
+ base07 = 232,
81
+ base08 = 235,
82
+ base09 = 94,
83
+ base0A = 29,
84
+ base0B = 22,
85
+ base0C = 126,
86
+ base0D = 25,
87
+ base0E = 89,
88
+ base0F = 25,
89
+ }
90
+ end
91
+
92
+ if palette then
93
+ require('mini.base16').setup({ palette = palette, use_cterm = use_cterm })
94
+ vim.g.colors_name = 'minicyan'
95
+ end
@@ -0,0 +1,95 @@
1
+ -- Color scheme 'minischeme'
2
+ -- Derived from base16 (https://github.com/chriskempson/base16) and
3
+ -- mini_palette palette generator
4
+ local use_cterm, palette
5
+
6
+ -- Dark palette is an output of 'MiniBase16.mini_palette':
7
+ -- - Background '#112641' (LCh(uv) = 15-20-250)
8
+ -- - Foreground '#e2e98f' (Lch(uv) = 90-60-90)
9
+ -- - Accent chroma 75
10
+ if vim.o.background == 'dark' then
11
+ palette = {
12
+ base00 = '#112641',
13
+ base01 = '#3a475e',
14
+ base02 = '#606b81',
15
+ base03 = '#8691a7',
16
+ base04 = '#d5dc81',
17
+ base05 = '#e2e98f',
18
+ base06 = '#eff69c',
19
+ base07 = '#fcffaa',
20
+ base08 = '#ffcfa0',
21
+ base09 = '#cc7e46',
22
+ base0A = '#46a436',
23
+ base0B = '#9ff895',
24
+ base0C = '#ca6ecf',
25
+ base0D = '#42f7ff',
26
+ base0E = '#ffc4ff',
27
+ base0F = '#00a5c5',
28
+ }
29
+ use_cterm = {
30
+ base00 = 235,
31
+ base01 = 238,
32
+ base02 = 242,
33
+ base03 = 246,
34
+ base04 = 186,
35
+ base05 = 186,
36
+ base06 = 229,
37
+ base07 = 229,
38
+ base08 = 223,
39
+ base09 = 173,
40
+ base0A = 71,
41
+ base0B = 156,
42
+ base0C = 170,
43
+ base0D = 51,
44
+ base0E = 189,
45
+ base0F = 38,
46
+ }
47
+ end
48
+
49
+ -- Light palette is an 'inverted dark', output of 'MiniBase16.mini_palette':
50
+ -- - Background '#e2e5ca' (LCh(uv) = 90-20-90)
51
+ -- - Foreground '#002a83' (Lch(uv) = 15-60-250)
52
+ -- - Accent chroma 75
53
+ if vim.o.background == 'light' then
54
+ palette = {
55
+ base00 = '#e2e5ca',
56
+ base01 = '#bcbfa4',
57
+ base02 = '#979a7e',
58
+ base03 = '#73765a',
59
+ base04 = '#324490',
60
+ base05 = '#002a83',
61
+ base06 = '#0000e4',
62
+ base07 = '#080500',
63
+ base08 = '#5e2200',
64
+ base09 = '#a86400',
65
+ base0A = '#008818',
66
+ base0B = '#004500',
67
+ base0C = '#b34aad',
68
+ base0D = '#004b76',
69
+ base0E = '#7d0077',
70
+ base0F = '#0086ae',
71
+ }
72
+ use_cterm = {
73
+ base00 = 254,
74
+ base01 = 250,
75
+ base02 = 246,
76
+ base03 = 243,
77
+ base04 = 239,
78
+ base05 = 18,
79
+ base06 = 20,
80
+ base07 = 232,
81
+ base08 = 52,
82
+ base09 = 130,
83
+ base0A = 28,
84
+ base0B = 22,
85
+ base0C = 133,
86
+ base0D = 24,
87
+ base0E = 90,
88
+ base0F = 31,
89
+ }
90
+ end
91
+
92
+ if palette then
93
+ require('mini.base16').setup({ palette = palette, use_cterm = use_cterm })
94
+ vim.g.colors_name = 'minischeme'
95
+ end
@@ -0,0 +1,53 @@
1
+ -- "Blooming spring"
2
+ --
3
+ -- Params for `make_palette` used to make palette (colors in OKLch):
4
+ -- Dark : bg=15-3-135; fg=85-1-265; saturation='medium'
5
+ -- Light: bg=90-1-135; fg=20-1-265; saturation='high'
6
+ -- Accent: 'bg'
7
+ --
8
+ -- Notes:
9
+ -- - Fg hues have different temperature than bg for more contrast.
10
+ -- They are tweaked to maximize palette's bg colors visibility.
11
+ -- - Accent is 'bg' for `make_palette`, but `accent_bg` is set to `green_bg`
12
+ -- for colorful statusline.
13
+ -- No `accent='green'` to avoid accent be exactly green: improves legibility
14
+ -- of diff "add" color (like in number column with 'mini.diff').
15
+ local palette
16
+
17
+ --stylua: ignore
18
+ if vim.o.background == 'dark' then
19
+ palette = {
20
+ bg_edge2 = '#040b02', bg_edge = '#101a0b', bg = '#1c2617', bg_mid = '#374231', bg_mid2 = '#535f4d',
21
+ fg_edge2 = '#eef1f7', fg_edge = '#e0e3e9', fg = '#d2d5db', fg_mid = '#b2b5bb', fg_mid2 = '#92959b',
22
+
23
+ accent = '#bee2ad', accent_bg = '#00381d',
24
+
25
+ red = '#ffc1bf', red_bg = '#410d12',
26
+ orange = '#facb9e', orange_bg = '#492900',
27
+ yellow = '#d8da9d', yellow_bg = '#373700',
28
+ green = '#abe5be', green_bg = '#00381d',
29
+ cyan = '#94e5ea', cyan_bg = '#004c4f',
30
+ azure = '#a9d8ff', azure_bg = '#002d4d',
31
+ blue = '#d3ccff', blue_bg = '#231946',
32
+ purple = '#f7c2ea', purple_bg = '#381031',
33
+ }
34
+ else
35
+ palette = {
36
+ bg_edge2 = '#f3f7f1', bg_edge = '#e9ede7', bg = '#e0e4de', bg_mid = '#c0c4be', bg_mid2 = '#a0a39e',
37
+ fg_edge2 = '#0b0d11', fg_edge = '#1d1e23', fg = '#2c2e33', fg_mid = '#47494f', fg_mid2 = '#64666c',
38
+
39
+ accent = '#2e5e00', accent_bg = '#80ffb8',
40
+
41
+ red = '#700015', red_bg = '#ffaaa7',
42
+ orange = '#804c00', orange_bg = '#ffc688',
43
+ yellow = '#676900', yellow_bg = '#e6ed62',
44
+ green = '#006d3f', green_bg = '#80ffb8',
45
+ cyan = '#007f86', cyan_bg = '#72f6ff',
46
+ azure = '#005085', azure_bg = '#90ccff',
47
+ blue = '#350775', blue_bg = '#c2b3ff',
48
+ purple = '#600051', purple_bg = '#ffb2f2',
49
+ }
50
+ end
51
+
52
+ require('mini.hues').apply_palette(palette)
53
+ vim.g.colors_name = 'minispring'
@@ -0,0 +1,49 @@
1
+ -- "Hot summer"
2
+ --
3
+ -- Params for `make_palette` used to make palette (colors in OKLch):
4
+ -- Dark: bg=15-1-45; fg=85-1-270; saturation=fg:'medium'
5
+ -- Light: bg=90-1-45; fg=20-1-270; saturation=fg:'high'
6
+ -- Accent: 'yellow'
7
+ --
8
+ -- Notes:
9
+ -- - Fg hues have different temperature than bg for more contrast.
10
+ -- They are tweaked to maximize palette's bg colors visibility.
11
+ local palette
12
+
13
+ --stylua: ignore
14
+ if vim.o.background == 'dark' then
15
+ palette = {
16
+ bg_edge2 = '#0c0705', bg_edge = '#1b1512', bg = '#27211e', bg_mid = '#433c39', bg_mid2 = '#605855',
17
+ fg_edge2 = '#eef1f8', fg_edge = '#e0e2e9', fg = '#d2d4db', fg_mid = '#b2b4bb', fg_mid2 = '#93949b',
18
+
19
+ accent = '#f6cc9b', accent_bg = '#492c00',
20
+
21
+ red = '#fac0e4', red_bg = '#3a0f2e',
22
+ orange = '#ffc1b9', orange_bg = '#410d0c',
23
+ yellow = '#f6cc9b', yellow_bg = '#492c00',
24
+ green = '#d1db9f', green_bg = '#313600',
25
+ cyan = '#a6e5c3', cyan_bg = '#003d26',
26
+ azure = '#93e4ee', azure_bg = '#004a51',
27
+ blue = '#acd6ff', blue_bg = '#002649',
28
+ purple = '#d8caff', purple_bg = '#271844',
29
+ }
30
+ else
31
+ palette = {
32
+ bg_edge2 = '#fcf4f0', bg_edge = '#f2eae6', bg = '#e9e1dd', bg_mid = '#c9c1bd', bg_mid2 = '#a8a19d',
33
+ fg_edge2 = '#0b0d11', fg_edge = '#1d1e23', fg = '#2c2e33', fg_mid = '#47494f', fg_mid2 = '#64666c',
34
+
35
+ accent = '#804e00', accent_bg = '#ffc888',
36
+
37
+ red = '#61004f', red_bg = '#ffb2ee',
38
+ orange = '#700011', orange_bg = '#ffaba5',
39
+ yellow = '#804e00', yellow_bg = '#ffc888',
40
+ green = '#636900', green_bg = '#e3ee65',
41
+ cyan = '#006f44', cyan_bg = '#7fffbd',
42
+ azure = '#007e87', azure_bg = '#79f4ff',
43
+ blue = '#004d84', blue_bg = '#91caff',
44
+ purple = '#370674', purple_bg = '#c5b3ff',
45
+ }
46
+ end
47
+
48
+ require('mini.hues').apply_palette(palette)
49
+ vim.g.colors_name = 'minisummer'