From d0d62427b663e22d42aaddff133fe3f02e4d977e Mon Sep 17 00:00:00 2001 From: Practicalli Engineering Date: Sun, 17 Mar 2024 00:03:14 +0000 Subject: [PATCH] post: journal week starting 11 March 2024 --- docs/posts/2024/march/11.md | 608 ++++++++++++++++++++++++++++++++++++ 1 file changed, 608 insertions(+) create mode 100644 docs/posts/2024/march/11.md diff --git a/docs/posts/2024/march/11.md b/docs/posts/2024/march/11.md new file mode 100644 index 00000000..c862594a --- /dev/null +++ b/docs/posts/2024/march/11.md @@ -0,0 +1,608 @@ +--- +title: Having a Donut Party with system components +date: 2024-03-11 +authors: + - practicalli +categories: + - practicalli +tags: + - clojure + - repl-workflow + - donut +--- + +**Thoughts for the week** + +Not quite back to full health yet, so took it easy at the weekend. + +More work on restoring spare bicycles so I can sell them or otherwise find a good home. + +Continued the refactor of the Practicalli Service template, specifically refining the design of the system config and helper functions to support a development REPL workflow. + + + + +## AstroNvim update + +++spc++ ++"p"++ ++"A"++ to update AstroNvim, version 3.44.2 + +??? EXAMPLE "AstroNvim update output" + ```config + Total: 80 plugins + + Breaking Changes (4) + ○ astrocommunity + c730a7e feat(grapple-nvim): better keymaps + add nvim-web-devicons dependency (#781) (9 days ago) + bbd7f7f feat(pack): add Templ language pack (#780) (10 days ago) + 30e8aae fix(grapple-nvim)!: update to Grapple v0.10.0 (#779) (10 days ago) + 5f484ba docs(nix): Update README.md after LSP change (#778) (11 days ago) + 5b45d23 docs(main): Add some contribution guidelines on documentation for the packs (#773) (2 weeks ago) + 4351fd3 chore: move to `selene` for linting (2 weeks ago) + d9751d3 docs: add sponsor link for AstroCommunity maintainer (2 weeks ago) + 7e0cee4 docs(rust): Fix guide on how to use clippy instead of cargo check on save (#767) (2 weeks ago) + f6a07ff fix(markdown-preview-nvim): yarn istead of npm (#770) (2 weeks ago) + 1327177 docs(java): Add note about root pattern (#763) (3 weeks ago) + + ○ nvim-lspconfig  Neoconf  User AstroFile + e5e6002 docs: update server_configurations.md skip-checks: true (6 days ago) + 6ae4776 feat: add config for some-sass-language-server (#3057) (6 days ago) + d006e0c fix: lexical root directory config (#3055) (6 days ago) + 9ad7021 docs: update server_configurations.md skip-checks: true (6 days ago) + 48364fb docs(lua_ls): change suggested setup (6 days ago) + b1fc956 docs: update server_configurations.md skip-checks: true (6 days ago) + 28c5e77 feat: add configuration for Tabby ML (#3050) (6 days ago) + a1c9b24 docs: update server_configurations.md skip-checks: true (7 days ago) + 75ab4fa fix: allow terraform-ls to start properly (#3051) (#3053) (7 days ago) + 534a255 docs: update server_configurations.md skip-checks: true (7 days ago) + c9f387f docs: update documentation for Volar >= 2.0.0 (#3049) (7 days ago) + 82a4b30 fix: update lua types to match latest nightly (#3048) (7 days ago) + 7f5cf11 docs: update server_configurations.md skip-checks: true (8 days ago) + 280ca49 fix(beancount): rename journalFile to journal_file (#3047) (8 days ago) + b43d52a docs: update server_configurations.md skip-checks: true (8 days ago) + bd2e75b docs: updated documentation for `harper-ls` (#3045) (8 days ago) + 0b4cc60 docs: update server_configurations.md skip-checks: true (8 days ago) + f6b8701 fix(css_variable_lsp): improve default settings (#3046) (8 days ago) + c932a56 docs: update server_configurations.md skip-checks: true (8 days ago) + 0959fc8 fix(css-variables): change - to _ in filename (#3044) (8 days ago) + 083e36e docs: update server_configurations.md skip-checks: true (9 days ago) + 6a62bc1 feat: add css-variables-language-server (#3042) (9 days ago) + 32a82a0 docs: update server_configurations.md skip-checks: true (9 days ago) + d23cb95 docs(terraformls): add docs on how to pass settings (#3040) (9 days ago) + 2badbe5 docs: update server_configurations.md skip-checks: true (9 days ago) + d4f4870 feat: add pico8-ls support (#3041) (9 days ago) + 9553725 docs: update server_configurations.md skip-checks: true (12 days ago) + 8ec68f7 feat: add markdown-oxide lsp (#3030) (12 days ago) + daa8ae2 docs: update server_configurations.md skip-checks: true (12 days ago) + 078410f feat: add delphilsp support (#3034) (12 days ago) + 0ebcaed docs: update server_configurations.md skip-checks: true (12 days ago) + 91d12df docs(veryl_ls): update url of verly_ls (#3037) (12 days ago) + b1a11b0 fix(pyright): fix PyrightSetPythonPath command (#3032) (2 weeks ago) + ec7d51a docs: update server_configurations.md skip-checks: true (2 weeks ago) + ddfc22e fix(rust_analyzer): declare single file support (#3028) (2 weeks ago) + 16029c2 docs: update server_configurations.md skip-checks: true (2 weeks ago) + eb89b17 docs(lua_ls): add comment about additional libraries (#3029) (2 weeks ago) + 60c3bd3 fix(bqnlsp): do not override user provided `cmd_env` (#3026) (2 weeks ago) + b8751ff docs: update server_configurations.md skip-checks: true (2 weeks ago) + d0a4176 fix: let core handle 'workspace/didChangeConfiguration' after init (#3023) (2 weeks ago) + b22610c ci: clarify misleading comment from bot (2 weeks ago) + 1015f07 docs: update server_configurations.md skip-checks: true (2 weeks ago) + 6b264ff feat: add bqnlsp support (#3024) (2 weeks ago) + d5b6d43 docs: update server_configurations.md skip-checks: true (3 weeks ago) + 5831021 fix(purescript-language-server): add 'spago.yaml' to the list of root_patterns (#3022) (3 weeks ago) + 6b9f4bb docs: update server_configurations.md skip-checks: true (3 weeks ago) + 8b04820 fix: rename twig-language-server to twiggy-language-server (#3021) (3 weeks ago) + 303f3b3 docs: update server_configurations.md skip-checks: true (3 weeks ago) + 39bbea3 fix: twig-language-server cmd (#3019) (3 weeks ago) + aa199c5 docs: update server_configurations.md skip-checks: true (3 weeks ago) + 41406a7 feat: add gdshader-lsp support (#3018) (3 weeks ago) + 1699ce1 docs: update server_configurations.md skip-checks: true (3 weeks ago) + bdc29fe fix(ocaml): trigger by filetype, not language id (#3016) (3 weeks ago) + d1bab4c docs: update server_configurations.md skip-checks: true (4 weeks ago) + e2703ae fix(typos_lsp): update repository url (#3012) (4 weeks ago) + 114bf18 docs: update server_configurations.md skip-checks: true (4 weeks ago) + 946c58c feat(solidity_ls)!: switch to first-party npm package (#3011) (4 weeks ago) + c656fe5 docs: update server_configurations.md skip-checks: true (4 weeks ago) + 02c9b12 fix(quick_lint_js): enable for typescript (#3010) (4 weeks ago) + ae91a30 docs: update server_configurations.md skip-checks: true (4 weeks ago) + 56e40a7 feat(docker-compse-lsp): add more filetype into docker compse server(#3008) (4 weeks ago) + 76251e8 docs: update server_configurations.md skip-checks: true (4 weeks ago) + afb9339 fix(denols): add new deno.cache request implmention (#3007) (4 weeks ago) + a367cab ci: bump JohnnyMorganz/stylua-action from 3 to 4 (4 weeks ago) + + ● nvim-treesitter 14.29ms  rainbow-delimiters.nvim + b781fd0 fix(c): improve doxygen comment matching (#6278) (4 hours ago) + 488bec0 bot(lockfile): update arduino, beancount, ocaml, ocaml_interface (2 days ago) + 7ff51f5 bot(lockfile): update swift, vim, wing (3 days ago) + 5720531 bot(lockfile): update mlir, wing (3 days ago) + b4553be fix(nickel): update highlights to grammar change (3 days ago) + 9775d5d fix(luadoc): `@nospell` identifiers and keywords (4 days ago) + a0f18ee feat(markdown): highlight link label delimiter (4 days ago) + 51d7c36 bot(lockfile): update python, wing (5 days ago) + c09932b bot(lockfile): update cue, gitcommit, wing (6 days ago) + cc6b108 bot(lockfile): update gleam, php, php_only, swift, wing (7 days ago) + 212b7a5 fix(angular): typo in capture name (#6249) (7 days ago) + 70f0382 bot(lockfile): update puppet, swift, t32, wing (8 days ago) + e479db6 fix(sourcepawn) update queries to grammar change (#6247) (8 days ago) + 63ca90e feat(swift): add will/didSet indent (8 days ago) + 3d08cdd fix(comment): remove duplicate 'FIXME' (8 days ago) + 8a9bef9 bot(readme): update (8 days ago) + 9e1f3c3 feat: add gotemplate and helm parser support (8 days ago) + f8d4e5c bot(lockfile): update arduino, gpg, sourcepawn, ssh_config, vue, wing (8 days ago) + 00bd760 feat(csharp): highlight excape sequences (#6229) (8 days ago) + 533ad65 feat: map automake to make (8 days ago) + 99ddf57 feat(highlights)!: enforce documented captures (#6232) (8 days ago) + 22c5a0d ci: teach bot about conventional commits (9 days ago) + e3e5ff4 Update README (9 days ago) + ada920f feat(vue): switch to new parser (#6233) (9 days ago) + a47540f Update parsers: vimdoc (10 days ago) + cbaad19 Update parsers: sourcepawn (10 days ago) + c2a2651 Update parsers: beancount, requirements, v, wing (11 days ago) + 30a41f5 ci: bump create-pull-request to v6 (11 days ago) + 3ad0e41 fix(astro): update to scanner rewrite (11 days ago) + 8e349b1 feat(gitcommit): highlight overflow in commit body (11 days ago) + 62b0bb4 feat(format): extra newline after modeline (11 days ago) + 84daea5 Update parsers: angular, gitcommit, vimdoc, wing (11 days ago) + 06b5fda feat: add support for gdshader (#6153) (11 days ago) + 4349af8 Update parsers: chatito, gitattributes, gitcommit, gpg, groovy, hlsl, mermaid, pem, poe_filter, properties, pymanifest, requirements, ssh_config, udev, wing, xcompose (12 days ago) + 4a8901b feat(beancount): refactor scanner to c (12 days ago) + d2f58c0 Update parsers: dtd, gitattributes, hyprlang, tcl, wing, xml (12 days ago) + c5b19f6 fix(typst): adapt queries to breaking parser update (12 days ago) + 15d521c fix(purescript): comment out utf-8 char (12 days ago) + 31d0648 Update parsers: angular, javascript, nim, perl, python, typst, wing (13 days ago) + db12bd4 Update parsers: fidl, haskell, nickel, python, solidity, wing (2 weeks ago) + 18aa5ae feat(c): local label highlights (2 weeks ago) + fad40f2 Update parsers: arduino, php, php_only, wing (2 weeks ago) + 6e2b56c feat(cooklang): update to scanner rewrite (2 weeks ago) + 6f1f407 feat(rust): add more regex injection queries (2 weeks ago) + ede5b46 Update parsers: gpg, properties, pymanifest, requirements, rust, ssh_config, swift, udev, v (2 weeks ago) + 9896ef5 feat(gdscript): update parsers and queries. (#6176) (2 weeks ago) + c06292f Update parsers: c, fennel, gitattributes, json, nim, pem, poe_filter, printf, readline, sourcepawn, wing, xcompose (2 weeks ago) + adf7236 feat(nickel): adapt to scanner rewrite (2 weeks ago) + e105b5e feat(properties): update parser & queries (2 weeks ago) + e159a53 fix(fidl): remove requires_generate_from_grammar (2 weeks ago) + f148c8a Update parsers: arduino, cmake, dtd, fidl, mlir, perl, slint, sourcepawn, wing, xml (3 weeks ago) + 31641d7 feat(format-scripts): linewrap predicates (3 weeks ago) + a29058f feat(faust): better highlighting of function calls, built-in variables, and member access (3 weeks ago) + 9ecf980 Update README (3 weeks ago) + a8d2b54 feat: add fidl parser (3 weeks ago) + 19bf991 feat(c-sharp): add enum member declaration highlight query (3 weeks ago) + 1398b1b Update parsers: cmake, dtd, faust, fennel, gdscript, html, lua, php, php_only, rust, sourcepawn, typst, vim, wing, xml (3 weeks ago) + ebf0532 feat(chatito): update queries (3 weeks ago) + ca46eb3 fix(highlights): highlight @type in phpdoc (3 weeks ago) + 977d949 Update README (3 weeks ago) + 7d1bab6 feat(fennel)!: switch to maintained parser (#6132) (3 weeks ago) + 71ae32c docs(template): use builtin commands (3 weeks ago) + d1484a1 feat: improve queries/muttrc/highlights.scm (3 weeks ago) + 455f658 feat(query): indents that reflect the formatter (#6154) (3 weeks ago) + 01cdcfb highlights(slang): add support for `where` (3 weeks ago) + c4c1f51 Update parsers: cuda, dtd, gdscript, hlsl, readline, slang, sourcepawn, wing, xml (3 weeks ago) + 6bd108a feat(typst): add raw block injections (3 weeks ago) + 7eeb26e feat(ecma): folding for function arguments (3 weeks ago) + d87074a Update parsers: gdscript, hlsplaylist, html, muttrc, wing, zathurarc (3 weeks ago) + ea3dded fix(meson): adapt to renamed node (3 weeks ago) + 1f6bd57 ci: remove mergify.yml as it's no longer used (3 weeks ago) + 917d696 fix(scripts): add missing \n for nested grouping (3 weeks ago) + 4b27f87 fix(scripts): format-queries defaults to cwd (3 weeks ago) + e04ce8b feat: add tmux parser (3 weeks ago) + 5b3e986 ci: simplify cache key (3 weeks ago) + 9bc2196 fix: typos (3 weeks ago) + 3a7b5a9 feat(svelte)!: switch upstream parser (3 weeks ago) + b3e53e9 Update parsers: c, cpp, elm, html, markdown, markdown_inline, swift, vimdoc (3 weeks ago) + 4704d7a Update README (3 weeks ago) + f857a96 fix(bass): revert to upstream parser (#6131) (3 weeks ago) + d10e856 feat(beancount): add comment injection (3 weeks ago) + 8e1df60 chore(puppet): update queries (3 weeks ago) + fef26b5 fix(format): fix nested grouping indentation (#6128) (3 weeks ago) + 5e4b657 fix(typst): add lockfile entry (3 weeks ago) + 34cb6a4 Update README (3 weeks ago) + 13e4e75 fix(typst): remove unneeded (blob) @markup.raw capture (3 weeks ago) + 4640135 fix(typst): nest @markup.raw.block capture (3 weeks ago) + 3f2f770 fix(typst): nest @variable.member highlight capture (3 weeks ago) + bdff1ab style(typst): group fold clauses (3 weeks ago) + 9772dd1 style(typst): merge @punctuation.bracket clauses (3 weeks ago) + 097d6ff fix(typst): move comment query to the bottom (3 weeks ago) + f85b205 style(typst): format queries (3 weeks ago) + 06d575e fix(typst): prevent highlighting entire function calls (3 weeks ago) + c76e7e2 fix(typst): correct highlight captures (3 weeks ago) + b3847b9 feat(typst): add comment injection (3 weeks ago) + 4cb1595 feat(typst): add #show to fold and indent queries (3 weeks ago) + 2ba58a4 feat(typst): add highlight queries (3 weeks ago) + ab3ec33 feat: add typst parser (3 weeks ago) + 87bc770 style: format queries (3 weeks ago) + c920b66 feat: add typst queries (3 weeks ago) + 5d9e12c fix(bash): unordered concatenation highlights (3 weeks ago) + f75a5b4 Update parsers: d, swift, wgsl_bevy (3 weeks ago) + 42acc3f refactor(ecma): delimiter highlight consolidation (3 weeks ago) + 17d68ac feat(rust): add doc comments (3 weeks ago) + eb1914b feat(latex): more text func highlights (3 weeks ago) + 47d013d Update parsers: c, javascript, rust, wing (3 weeks ago) + 504fe10 feat(ecma): highlight label identifiers (3 weeks ago) + 581e87b Update parsers: glsl, hlsl, hlsplaylist, muttrc, purescript, query, wing, zathurarc (4 weeks ago) + d49a8f8 highlights(slang): add support for `associatedtype` (4 weeks ago) + + ● rainbow-delimiters.nvim 14.77ms  VeryLazy + cfc3f53 Fix name of busted shim in makefile (11 days ago) + 4902de7 Rename busted shim (12 days ago) + 2dd78f3 Fix Neovim shim for parallel runs (13 days ago) + 64b7006 Update changelog (2 weeks ago) + 5ec0504 fix(fennel)!: update queries to reflect new upstream parser (2 weeks ago) + 161eb67 Add a shim for busted (3 weeks ago) + 90bab50 Fix up 'clean' target in makefile (3 weeks ago) + 4d2d3f9 Handle command-line arguments in shim (3 weeks ago) + e03cdde Add Svelte support (3 weeks ago) + df0a57a Maintain symlink only during test session (3 weeks ago) + + + Updated (25) + ● alpha-nvim 7.88ms 󰢱 alpha  astronvim.autocmds + 41283fb Fix: Close alpha after SessionLoadPost. (#267) (2 weeks ago) + + ● astrotheme 0.6ms  start + 6119b6b chore(main): release 3.4.0 (#110) (3 weeks ago) + c20ca1b chore(build): auto-generate vimdoc (3 weeks ago) + 1a16dac feat(todo-comments): add highlight support (#115) (3 weeks ago) + b88c5c1 chore(build): auto-generate vimdoc (3 weeks ago) + bb84325 feat(palette): rename `astromars-light` to `astrojupiter` (#114) (3 weeks ago) + 42a7135 chore(build): auto-generate vimdoc (4 weeks ago) + 8064465 fix: remove manual `blend` specifications (4 weeks ago) + ade0b60 feat(palette): add back old `astrolight` as `astromars-light` (#112) (5 weeks ago) + dffc812 feat(palette): align `astrolight` with `astrodark` (#109) (5 weeks ago) + c2938b1 chore(build): auto-generate vimdoc (5 weeks ago) + 7bc3bc6 fix(treesitter): fix spelling error on comment.warning (#113) (5 weeks ago) + 84631e4 chore(build): auto-generate vimdoc (5 weeks ago) + b42a494 feat(treesitter): change variable.memeber to link to property (#108) (5 weeks ago) + 415d003 chore(build): auto-generate vimdoc (6 weeks ago) + 8e5345e docs: update AstroNvim tagline (6 weeks ago) + + ○ ccc.nvim  CccPick  CccConvert  CccHighlighterDisable  CccHighlighterEnable  CccHighlighterToggle  uC  zc  zp  InsertEnter  User AstroFile + f3d9d31 fix: add validator of bufnr in update; because update calling is delayed by vim.schedule (4 days ago) + 2ef48b4 first update at LspAttach (6 days ago) + 3b25771 remove update_callback (6 days ago) + cd0f8ff fix: avoid buf_request_all notify (6 days ago) + 61b13d3 Remove extra file (7 days ago) + db5907f Add requirements into doc (7 days ago) + 4e79f59 Update requirements: neovim 0.9.0+ (7 days ago) + 86299a4 fix: pattern.find should detect a null character (7 days ago) + c8cfd0a Set highlight to ccc-ui (10 days ago) + 37dd903 set namespace to window each time update (10 days ago) + a170d44 off signcolumn (10 days ago) + 5bbeb2e strict false (10 days ago) + 56f2689 disable highlighter in ccc-ui (10 days ago) + 325c398 Fix updating highlight in undo/redo; need to use vim.schedule() (10 days ago) + fb740df prohibit a blank issue (11 days ago) + 6b6782b update doc (11 days ago) + 0ca30a4 doc: rename to cycle_input/output_mode (2 weeks ago) + 5abfb71 Format with stylua (2 weeks ago) + 36c25ef Refactor (#100) (2 weeks ago) + 392ef06 fix: add type check to pattern.find (#102) (2 weeks ago) + + ● everforest 0.22ms  start + d8ce313 fix(tsx): import hl does not match js/ts (10 days ago) + + ○ friendly-snippets  LuaSnip + dcd4a58 Remove some none (#409) (2 weeks ago) + dbd45e9 add new snippet for vue (#404) (3 weeks ago) + 00ac993 Add PureScript snippets (#401) (3 weeks ago) + b4bc233 feat(ruby): add binding.break snippet (#403) (3 weeks ago) + ad4fe8c feat(editorconfig): add editorconfig snippets (#392) (3 weeks ago) + + ● kanagawa.nvim 0.05ms  start + bfa818c Merge pull request #212 from champignoom/patch-1 (12 days ago) + 582fe0a Update treesitter.lua, enable strikethrough and underline (12 days ago) + + ● lazy.nvim 20.01ms  init.lua + 83493db chore(main): release 10.17.0 (#1292) (4 days ago) + a5ac169 chore(build): auto-generate vimdoc (4 days ago) + 298bed1 fix: update to new treesitter capture groups (#1294) (4 days ago) + d5c58bb fix(ui): remove a single space character from home title (#1309) (4 days ago) + e1e8d2f chore(build): auto-generate vimdoc (4 days ago) + 0694651 feat(loader): warn when maplocalleader is changed after init (#1326) (4 days ago) + c96fc24 style: format (4 days ago) + 5be95fe chore(build): auto-generate vimdoc (4 days ago) + 5aea4e7 fix(types): fix incorrect LuaLS types (#1339) (4 days ago) + aedcd79 chore(build): auto-generate vimdoc (7 weeks ago) + 670a6fe fix(manage): better support for using the default colorscheme during install. See #1277 (7 weeks ago) + + ○ mason-null-ls.nvim  NullLsInstall  NullLsUninstall  null-ls.nvim + e270134 chore(main): release 2.5.1 (#99) (12 days ago) + 05385ea fix(docs): config requires `ignore_methods` field (#98) (12 days ago) + + ○ neo-tree.nvim  Neotree + 7f2ebde fix(deprecations): `wrap` was a window option (#1387) (2 days ago) + bce4540 feat(nui): allow callbacks in nui input with option (#1372) (6 days ago) + dcb63ab fix(renderer): fix cursor jumping (#1377) (6 days ago) + 459c603 fix: skip normalizing empty file paths (#1363) (2 weeks ago) + 7d3b020 fix(renderer): clean out edge cases of cursor.position.restore (#1355) (3 weeks ago) + db178f4 fix: improve path escaping for commands on Windows (#1353) (4 weeks ago) + + ○ neogit  gnk  gs  gnt  gnc  gnd  User AstroGitFile + 9c5b139 Merge pull request #1191 from ofseed/master (8 days ago) + fe3b8f5 Merge pull request #1152 from Danielkonge/Danielkonge-patch-1 (8 days ago) + 6f72f6d Merge pull request #1154 from PostCyberPunk/count (8 days ago) + 944033b Modify postfix for finders (8 days ago) + c637c13 Remove redundant prompt_prefix postfix (8 days ago) + a8e667f Change default prompt_prefix value (8 days ago) + 0d0879b Merge pull request #1185 from NeogitOrg/bugfix/tag-annotations (2 weeks ago) + 8f74093 Do not always annotate tags unless specified. (2 weeks ago) + 4075ca9 Merge pull request #1183 from NeogitOrg/make-dired-better (3 weeks ago) + 22985e3 Bugfix: When choosing a directory with the default telescope sorter, do not select ".." if it's highlighted while there's something else written in the prompt. (3 weeks ago) + 1eb9514 Update README.md (3 weeks ago) + 02d4c1b Merge pull request #1181 from eternity74/fix-diffview (3 weeks ago) + 6b4ec3a Fixed unwanted trim for file from diffview (3 weeks ago) + b2916ea fix:rebase editor respect disable_line_numbers (5 weeks ago) + b0415a0 fixup! feat:line_action count support (5 weeks ago) + ddf8148 fix skipping "edit" (5 weeks ago) + 9ce6ce4 feat:line_action count support (5 weeks ago) + 8e74085 fix: typo in the kind type (6 weeks ago) + + ○ neovim-session-manager  SessionManager  BufWritePost + d8e1ba3 Update README.md (3 weeks ago) + + ○ nvim-autopairs  User AstroFile + c6139ca docs: make improvements to readme (#435) (2 weeks ago) + 1efb4f2 fix: don't add parentheses after bash/shell functions (#432) (2 weeks ago) + 90f824d fix: use v:lua without parens (3 weeks ago) + d4aef9d fix: conflict with vim-endwise fix #430 (3 weeks ago) + 2e8a10c fix: avoid global variable usage (#426) (3 weeks ago) + 00def01 docs: fix typo (#427) (3 weeks ago) + + ● nvim-notify 1.67ms 󰢱 notify  noice.nvim + 5371f4b fix(telescope): enable wrap on preview (#255) (3 weeks ago) + 8836014 fix: improve correctness of neovim version checking (#259) (3 weeks ago) + + ○ nvim-spectre  Spectre  ss  sw (x)  sf + 3712ff0 style: reformat by stylua (3 weeks ago) + 3e6da25 feat: add mapping yy to copy current line (3 weeks ago) + + ● nvim-surround 1.45ms  VeryLazy + ● nvim-treesitter-textobjects 1.81ms  nvim-treesitter + b7a0bfa docs: update queries in README (#578) (7 days ago) + cf3d612 fix: nil index when swapping at first/last child (#577) (7 days ago) + 3532f60 fix(fennel): update queries for the new grammar (#570) (8 days ago) + 739da25 fix(swap): preserve swapped nodes' range metadata (#550) (8 days ago) + 95933e7 docs: fix spelling (#563) (13 days ago) + 7f00d94 docs: update queries in README (3 weeks ago) + 1b39216 docs: update queries in README (3 weeks ago) + b3af7c7 feat(bash): @parameter.inner for command arguments (3 weeks ago) + 7bb0ada feat(readline): text objects for GNU Readline (3 weeks ago) + + ○ nvim-web-devicons + 4adea17 fix: linux and other assorted dark colours (#408) (10 days ago) + 69fb193 feat(#406): add set_icon_by_filetype (#407) (10 days ago) + 0bb67ef feat(#192): :NvimWebDeviconsHiTest (#405) (2 weeks ago) + 7a19449 feat: add checkhealth (#403) (2 weeks ago) + 14ac588 feat: add nu (#401) (3 weeks ago) + + ○ octo.nvim  ghe7  ghe8  ghx  ghs  ghss  ghsf  ghsr  ghsd  ghsc  ghsp  gh  ghc  ghca  ghcd  ght  ghta  ghtd  ghi  ghic  ghir  ghil  ghiu  ghio  ghp  ghpp  ghpm  ghpmm  ghpms  ghpmd  ghpmr  ghpc  ghpn  ghpd  ghps  ghpr  ghpo  ghpu  ghpt  ghpl  ghr  ghrl  ghrf  ghro  ghru  gha  ghaa  ghar  ghap  ghl  ghla  ghlr  ghlc  ghe  ghe1  ghe2  ghe3  ghe4  ghe5  ghe6 + 1e2376a Merge pull request #512 from jemag/fix-repo-browser (5 hours ago) + 76d4a2e fix: use url for opening repo from Octo repo list (7 hours ago) + b8fe290 Merge pull request #510 from sventec/doc-fix-duplicate-opts (8 hours ago) + 4340775 fix: improper gh cli flag for repo browser (24 hours ago) + 55f223f doc: remove duplicate options from readme (3 days ago) + feae1e5 Merge pull request #499 from samjwillis97/master (3 weeks ago) + 3d1ffd4 Shuffled whitespace (3 weeks ago) + 481f93c Moved cmd not found error + changed message (3 weeks ago) + aa1ddc9 Moved Github CLI command to a configuration. (3 weeks ago) + + ○ overseer.nvim  OverseerClose  OverseerToggle  OverseerSaveBundle  OverseerLoadBundle  OverseerDeleteBundle  OverseerRunCmd  OverseerRun  OverseerInfo  OverseerBuild  OverseerQuickAction  OverseerTaskAction  OverseerClearCache  OverseerOpen + b72f6d2 fix: remove calls to deprecated tbl_add_reverse_lookup (4 days ago) + 4855aef fix: eslint and jshint problem matcher patterns (#260) (3 weeks ago) + + ○ rest.nvim  RestNvimLast  RestNvim  RestNvimPreview  json  http  rr  r + 1ddcc92 docs: improve Telescope extension doc (#293) (10 hours ago) + b1c8447 Merge pull request #289 from rest-nvim/release-please--branches--main--components--rest.nvim (6 days ago) + ea45dfa docs: add `ft` to `lazy.nvim` config example (#288) (6 days ago) + e415a94 chore(main): release 1.2.0 (6 days ago) + 8a0cf6d chore: autoformat with stylua (6 days ago) + 2bb9570 feat: add pre-script configuration (#287) (6 days ago) + c27a0bc Merge pull request #285 from lhanson/telescope-fd-gitignore (3 weeks ago) + 16376c6 Find .gitignore'd .env files (3 weeks ago) + + ○ SchemaStore.nvim + 8835555 Update SchemaStore catalog (7 days ago) + d91daa5 Update SchemaStore catalog (8 days ago) + ebe6fe2 Update SchemaStore catalog (10 days ago) + f3a32e8 Update SchemaStore catalog (11 days ago) + 9bc9a3a Update SchemaStore catalog (12 days ago) + a93078f Update SchemaStore catalog (2 weeks ago) + fac1359 Update SchemaStore catalog (2 weeks ago) + 0358c7e Update SchemaStore catalog (3 weeks ago) + 86dee56 Update SchemaStore catalog (3 weeks ago) + adaca44 Update SchemaStore catalog (3 weeks ago) + 12ff3ac Update README.md (3 weeks ago) + ffaf412 Update README.md (3 weeks ago) + 8440817 Update SchemaStore catalog (3 weeks ago) + + ○ smart-splits.nvim + f6fcb79 fix(api): Rename function for consistency (7 days ago) + 5c18899 feat(api): Add method to jump to previous window (7 days ago) + 07fa44c Merge pull request #160 from Mr-Hypocrite/fix/wezterm-wsl (9 days ago) + 324abc0 refactor: add default config for wezterm_cli_path if is_WSL func returns true unless it's provided in the config by user (9 days ago) + 9f75734 chore: add annotation for is_WSL func (9 days ago) + 9aa306a refactor: use wezterm_cli_path from config (10 days ago) + d3bdca9 chore: change field name to wezterm_cli_path, add default / fallback wezterm_cli_path in local config (10 days ago) + e00374f chore: move all utils associated to this context to mux utils, add a func to check for wezterm (10 days ago) + 3e29e87 Merge branch 'master' into fix/wezterm-wsl (10 days ago) + b26118d refactor: use wezterm_bin_path from config if present else use the fallback (10 days ago) + 8bb1656 chore: add configuration opt for wezterm bin path (10 days ago) + 40be526 refactor: change the way WSL environment is checked (10 days ago) + 0cf7149 chore: Add .envrc to use flake.nix (10 days ago) + 08ce46d Merge pull request #161 from mrjones2014/mrj/flake-maintenance (10 days ago) + f8dc9b5 Merge branch 'master' into mrj/flake-maintenance (10 days ago) + 181c77b chore: Install stylua and luacheck in flake.nix and setup tmux alias (10 days ago) + e25e87d Merge branch 'master' into fix/wezterm-wsl (10 days ago) + 1339ffe Merge pull request #159 from mrjones2014/mrj/158/non-zero-exit-code (11 days ago) + 6e41903 fix: conditionally use wezterm.exe command if the environment is WSL (11 days ago) + cac3db3 chore: add a check to detect WSL environment (11 days ago) + 89a570a fix: Use jobstart with detach=true (12 days ago) + a714522 fix(mux): Change `on_exit` to run on `VimLeavePre` instead of `VimLeave` (13 days ago) + e1e1e6c Merge pull request #156 from mrjones2014/bot/vimdoc/master (3 weeks ago) + fb1d8c6 chore: generated vimdoc (3 weeks ago) + 1863c1b Merge pull request #155 from mrjones2014/mrj/tmux-performance (3 weeks ago) + 8f76c49 docs: Update README.md (3 weeks ago) + 9f96087 fix: fix typo in import (3 weeks ago) + 57e0b9a feat: Add flake.nix with tmux config for testing (3 weeks ago) + 6813e3f feat(mux): Faster tmux integration/mux initialization refactor (3 weeks ago) + 159c482 refactor: move `are_we_wezterm()` function to mux.utils (3 weeks ago) + 33c8507 Merge pull request #153 from mrjones2014/bot/vimdoc/master (3 weeks ago) + bb4b2d5 chore: generated vimdoc (3 weeks ago) + 5780c70 Merge pull request #152 from lucobellic/patch-1 (3 weeks ago) + 1f307be docs: update README.md (3 weeks ago) + + ○ telescope-file-browser.nvim  User AstroFile + 8839e3f fix(picker): reject non-dir path option (#363) (6 days ago) + + ● telescope-fzf-native.nvim 0.21ms ✔ build + 9ef21b2 fix: OS detection logic to allow compiling with MYSYS cmake on Windows (#121) (6 days ago) + + ○ vim-visual-multi  User AstroFile + ``` + + +## Practicalli Project Templates + +Identified some refinements to the `practicalli/service` template, specifically with the `donut-party/system` configuration. + +REPL Workflow updates: + +- comment mulog example log event and function to stop mulog publisher +- portal REPL helper functions in `dev/portal.clj` rather than `dev/user.clj` +- update donut config when running via the REPL helper functions + +Service updates: + +- service.clj: remove http-kit and mulog library requires (only required in `system.clj` file) +- `system.clj`: moved mulog global context into dont config + + +## Donut System components + +[donut-party/system]() library is a simple to use and reason about library for managing components that make up a service, e.g. logging, http server, request routing. + +The main system is defined as a Clojure hash-map, with specific keys to control the lifecycle of components + +- `::donut/start` key is bound to a function to start a particular component +- `::donut/start` key is bound to a function to stop a running instance of the component (the instance created by `::donut/start`) +- `::donut/config` is a hash-map of configuration values that can be passed to the `::donut/start` function (destructuring the relevant values into local names) + + +### Refactor REPL workflow + +`donut.system.repl/start` is used to manage the system components as part of the REPL workflow. + +This function can be passed a donut named system to use a different configuration. The default named system is called `:donut.system/repl` + +Practicall Service template sets the `:donut.system/repl` named system to use the configuration file for the service. + +!!! EXAMPLE "Update main donut config with dev" + ```clojure + (ns system-repl + "Tools for REPl workflow with Donut system components" + (:require + [donut.system :as donut] + [donut.system.repl :as donut-repl] + [donut.system.repl.state :as donut-repl-state] + [practicalli.gameboard.system :as system])) + + (defmethod donut/named-system :donut.system/repl + [_] system/main) + ``` + +`donut.system/system` function updates the configuration defined by the named system with key values. + +In the Practicalli Service template, the `:app-env` key is updated with the value `"dev"` + +!!! EXAMPLE "Update main donut config with dev" + + ```clojure + (defn start + "Start system with donut, optionally passing a named system" + [] (donut-repl/start + (donut/system :donut.system/repl + {[:env :app-env] "dev"}))) + ``` + +### Hammock time + +After some hammock time the donut REPL workflow code had a further refactor. + +To keep the configuration as simple as possible, the `main` configuration is used for all environments (production, staging, test, dev). + +Donut-party/system can create a named-system and provide overrides on top of another system, changing only the specific values needed for the new system. + +Pass an existing config or named system to the `donut/system` function, along with any values to override. A new system configuraiton is returned. + +!!! EXAMPLE "Override the default donut.system/repl configuration" + ```clojure + (donut/system :donut.system/repl + {[:env :app-env] "dev" + [:env :app-version] "0.0.0-SNAPSHOT"}) + ``` + +Creating a `:dev` named-system to support the development workflow would change the production configuration: + +- chaninging the mulog publisher to output a pretty printed Clojure hash-map in dev (encoded into JSON for production) +- setting the application environment to dev (for parts of the system that may work differently in dev) +- overriding the http server options, i.e. `:join? false` to detatch the REPL prompt from the server process after startup + + + +!!! EXAMPLE "Refactor of service-repl namespace" + ```clojure + ;; --------------------------------------------------------- + ;; Donut named systems + ;; `:donut.system/repl` is default named system, + ;; bound to `{{top/ns}}.{{main/ns}}.system` configuration + (defmethod donut/named-system :donut.system/repl + [_] system/main) + + ;; `dev` system, partially overriding main system configuration + ;; to support the development workflow + (defmethod donut/named-system :dev + [_] (donut/system :donut.system/repl + {[:env :app-env] "dev" + [:env :app-version] "0.0.0-SNAPSHOT" + [:services :http-server ::donut/config :options :join?] false + [:services :event-log-publisher ::donut/config] + {:publisher {:type :console :pretty? true}}})) + + ;; --------------------------------------------------------- + + ;; --------------------------------------------------------- + ;; Donut REPL workflow helper functions + + (defn start + "Start services using a named-system configuration, + use `:dev` named-system by default" + ([] (start :dev)) + ([named-system] (donut-repl/start named-system))) + + (defn stop + "Stop the currently running system" + [] (donut-repl/stop)) + + (defn restart + "Restart the system with donut repl, + Uses clojure.tools.namespace.repl to reload namespaces + `(clojure.tools.namespace.repl/refresh :after 'donut.system.repl/start)`" + [] (donut-repl/restart)) + + (defn system + "Return: fully qualified hash-map of system state" + [] donut-repl-state/system) + ;; --------------------------------------------------------- + ``` + +> Environment variables for ports and other things that may change between environments and deploys helps keep the configuration simple. Using juxt/aero is nice, but it adds a little more complexity to the configuration. + + +--- +Thank you. + +[:globe_with_meridians: Practical.li Website](https://practical.li){target=_blank .md-button} + +[:fontawesome-brands-github: Practical.li GitHub Org](https://github.com/practicalli){target=_blank .md-button} +[:fontawesome-brands-github: practicalli-johnny profile](https://github.com/practicalli-johnny){target=_blank .md-button} + +[:fontawesome-brands-mastodon: @practicalli@clj.social](https://clj.social/@practicalli){target=_blank .md-button} +[:fontawesome-brands-twitter: @practical_li](https://twitter.com/practcial_li){target=_blank .md-button}