Skip to content

Having a Donut Party with system components

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λ︎

Space p A to update AstroNvim, version 3.44.2

AstroNvim update output
  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  <leader>uC  <leader>zc  <leader>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  <leader>gnk  <leader>gs  <leader>gnt  <leader>gnc  <leader>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  <leader>ss  <leader>sw (x)  <leader>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  <leader>ghe7  <leader>ghe8  <leader>ghx  <leader>ghs  <leader>ghss  <leader>ghsf  <leader>ghsr  <leader>ghsd  <leader>ghsc  <leader>ghsp  <leader>gh  <leader>ghc  <leader>ghca  <leader>ghcd  <leader>ght  <leader>ghta  <leader>ghtd  <leader>ghi  <leader>ghic  <leader>ghir  <leader>ghil  <leader>ghiu  <leader>ghio  <leader>ghp  <leader>ghpp  <leader>ghpm  <leader>ghpmm  <leader>ghpms  <leader>ghpmd  <leader>ghpmr  <leader>ghpc  <leader>ghpn  <leader>ghpd  <leader>ghps  <leader>ghpr  <leader>ghpo  <leader>ghpu  <leader>ghpt  <leader>ghpl  <leader>ghr  <leader>ghrl  <leader>ghrf  <leader>ghro  <leader>ghru  <leader>gha  <leader>ghaa  <leader>ghar  <leader>ghap  <leader>ghl  <leader>ghla  <leader>ghlr  <leader>ghlc  <leader>ghe  <leader>ghe1  <leader>ghe2  <leader>ghe3  <leader>ghe4  <leader>ghe5  <leader>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  <leader>rr  <leader>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.

Update main donut config with dev

(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"

Update main donut config with dev

(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.

Override the default donut.system/repl configuration

(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

Refactor of service-repl namespace

;; ---------------------------------------------------------
;; 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.

Donut practical guideλ︎

Update Practicalli Clojure Web Services guide on donut with recent lessons learned:

The guide should include:

  • overview
  • add dependency
  • defining a system configuration
  • named-systems
  • overriding values in a system configuration
  • REPL workflow
  • helper functions to start, stop & restart the system components. A system function to show the current value of the system should issues arise.

juxt/aero - consider using environment variables instead, especially if there is minimal difference between environments (prod, stage, test, dev)

Clojure essentialsλ︎

What are the essentials that any Clojure developer should know? Some initial thoughts:

Syntax:

  • define a custom function
  • define a value using simple & complex values, anonymous and/or partial functions (or even a transducer)
  • define a namespace and require libraries (when to use an alias and :refer)
  • let for local names
  • conditionals (if when cond some - and their variants)
  • list, vector, hash-map and set data structures
  • working with data structures (conj, get, into)
  • generating & transforming data, e.g. map, reduce, partition, filter, group-by
  • sequences and the basics of lazyness
  • threading macro - flow and navigating paths to data

Tooling and Workflow

  • starting and configuring a REPL
  • Clojure CLI configuration and aliases
  • a REPL connected editor and evaluation options
  • keeping a clean REPL state
  • a test runner, e.g Kaocha
  • data inspector, e.g. Portal (highly recommended)
  • REPL reloaded Workflow (optional)

Topics that can wait until there is a specific use case

  • writing macros (unless designing an extension to the language)
  • polymorphism (unles dispatching by custom types)
  • Java interop (largely skipped as there are many wrapper libraries)

Ubuntu file trackerλ︎

There is a file indexing package called tracker-minder-fs that can have a significant impact on the performance of even a high end computer.

From the apt show tracker-miner-fs -a description:

Description: metadata database, indexer and search tool - filesystem indexer
 This package contains the tracker indexer for indexing your files and
 folders.

 Tracker is an advanced framework for first class objects with associated
 metadata and tags. It provides a one stop solution for all metadata, tags,
 shared object databases, search tools and indexing.

Normally I would remove the package, however, it has dependencies from Ubuntu and Regolith desktop packages. These are meta packages, so it should be okay to remove them, so long as they do not remove all the other desktop related pacakges.

Remove tracker minder package

sudo apt remove --purge tracker-miner-fs tracker-extract

I was concerned about removing gnome-flashback package, as I believe that provides the graphical login when starting Ubuntu with Regolight.

Packages to be removed

The following packages will be REMOVED
  gnome-flashback* gnome-shell-extension-desktop-icons-ng* nautilus* nautilus-share* regolith-desktop*
  regolith-session-flashback* tracker-extract* tracker-miner-fs* ubuntu-desktop* ubuntu-desktop-minimal*

Hopefully in a newer version of Regolith desktop or using Debian Linux as the base of Regolith Linux will not include this overactive file indexer.


Thank you.

🌐 Practical.li Website

Practical.li GitHub Org practicalli-johnny profile

@practicalli@clj.social @practical_li