diff --git a/content/devlog/2024.smd b/content/devlog/2024.smd deleted file mode 100644 index 80f7c97..0000000 --- a/content/devlog/2024.smd +++ /dev/null @@ -1,291 +0,0 @@ ---- -.title = "Devlog - 2024", -.date = @date("2024-01-01T00:00:00"), -.author = "CJ van den Berg", -.layout = "devlog.shtml", -.draft = false, ---- - -[]($section.id('about')) -## About this Devlog - -I try to keep a log of major (and some minor) changes and new features going into flow as I work on -them. - -You can [subscribe to this page via RSS]($link.page('devlog').alternative('rss')) and find more -devlog entries in the [archive](/devlog/). - -## [Command palette fuzzy matching]($section.id("2024-06-19T17:47:00")) - -Fuzzy matching is now supported in the command palette and clicking the flow button will now open -the command palette instead of switching input modes. Also fixed a crash with large bracketed paste -operations (C-S-v in most terminals). - -Still to come in the palette, English command descriptions (docstrings), active keybinding hints, -MRU ordering persistence and (maybe/probably) command argument parsing with syntax hints. - - -## [Bug fixes & command palette]($section.id("2024-06-14T21:52:00")) - -A few bug fixes today. Mostly fix for mouse and resize handling of menus and buttons. - -Also, started work on the command palette. Lot's to do still. Fuzzy find, show keybindings, last -recently used sorting, etc. - -Here's something to look at in the mean time: - -[]($image.asset('2024-06-14.png')) - - -## [FreeBSD]($section.id("2024-06-13T12:20:00")) - -Flow Control now runs on FreeBSD too! - - -## [Windows port has landed!]($section.id("2024-06-08T20:42:00")) - -Aaaannd it's merged! - -libvaxis is now the default (actually only) renderer. This brings way broader terminal support and -flow now runs pretty much anywhere, including Windows! - -[]($image.asset('2024-06-08.png')) - -Windows support still has a couple of limitations (and bugs). Most notably, no mouse support and -language server support is currently still in progress. - - -## [Windows porting]($section.id("2024-06-07T22:27:00")) - -Getting close... - -[]($image.asset('2024-06-07.png')) - - -## [Notcurses dropped]($section.id("2024-06-07T16:57:00")) - -I've dropped notcurses entirely in the version next branch. Doesn't seem like it has any value now -and I don't need any extra maintenance burden. - - -## [Windows support in thespian]($section.id("2024-06-07T16:53:00")) - -Thespian is building on windows now. I just need to add a windows variant of thespian's async -subprocess API, and then I can start porting flow to windows. - - -## [libvaxis backend completed]($section.id("2024-05-23T22:40:00")) - -The libvaxis backend is now complete and far surpasses the notcurses backend in terms of -compatibility. With libvaxis Flow now renders correctly in kitty, ghostty, iterm2, gnome-terminal, -konsole, xterm, rxvt, alacritty, wezterm, foot, windows terminal and probably most others. Unicode -works correctly in macos now (there were width bugs cause by macos libc) and cross compiling works -everywhere (except for windows targets) with no additional dependencies to install. - -I will switch the default backend to libvaxis as soon as I get around to re-writing the readme -build section. I may even remove the notcurses backend soon as there seems like no reason to keep -it, but I wait a little while just to be safe. - -Flow Control in iTerm2 -[]($image.asset('2024-05-23-iterm2.png')) - -Flow Control in Windows Terminal -[]($image.asset('2024-05-23-windows-terminal.png')) - - -## [libvaxis copy & paste]($section.id("2024-05-22T12:37:00")) - -Still working on the new libvaxis backend. Lot's of changes to get it feature equivalent to the -notcurses backend. I'm trying to keep as much as possible upstream so other zig TUI apps can -benefit. Yesterday I added osc52 support to libvaxis (copy/paste) and today I will add detection -of pixel mouse coordinate support. Then it's hopefully just some bug fixing (drag detection, -perhaps others) and I can think about making libvaxis the new default. - - -## [to_upper/lower]($section.id("2024-05-12T00:20:00")) - -Today I added to_upper and to_lower commands. Bound to Alt-u and Alt-l. - - -## [Add remaining libvaxis styles]($section.id("2024-05-10T22:56:00")) - -I've added the remaining styles to the libvaxis renderer. notcurses and libvaxis backends should -look identical now. - - -## [libvaxis preview release]($section.id("2024-05-10T12:56:00")) - -I have pushed the work-in-progress libvaxis backend to master and will continue work there. It is -not enabled by default. If you want to try it out build with `-Duse_vaxis=true` which will produce -`zig-out/bin/flow-vaxis`. - - -## [libvaxis nearing compleation]($section.id("2024-05-10T11:54:00")) - -The libvaxis backend is nearing completion. Render times look good, although it's not quite a -perfect apples to apples comparison just yet because a few styles are still incomplete in the -libvaxis version. That difference should be pretty minor though so I don't expect this comparison -to really change much. - -[]($image.asset('2024-05-10.png')) - - -## [libvaxis progress]($section.id("2024-05-09T00:59:00")) - -libvaxis support is still a work in progress. I have most of the backend implemented, but I am -battling to smooth out the bugs. There are a few major semantic differences between notcurses -planes and libvaxis windows that I haven't handled quite right yet. - - -## [LSP & tree-sitter sync fix]($section.id("2024-05-09T00:39:00")) - -Today I fixed tree-sitter and/or LSP getting out of sync when editing. Both should stay properly -synced now. - - -## [Refactor completed]($section.id("2024-05-01T16:59:00")) - -Refactoring complete. The TUI layer in Flow no longer directly depends on notcurses. ๐ŸŽ‰ - -Time to start real work on a libvaxis renderer. - -[]($image.asset('2024-05-01.png')) - - -## [Refactoring renderer]($section.id("2024-04-27T23:24:00")) - -Development has not stalled. I'm working on a major refactor to bring in libvaxis as an alternative -rendering backend. libvaxis is mostly on par with notcurses already, and moving forward I'd rather -work on/contribute to upstream libraries written in zig. - - -## [Diagnostics rendering]($section.id("2024-04-20T00:07:00")) - -Added rendering of diagnostics and goto next/previous diagnostic commands. (bount to Alt-n and -Alt-p). Also added diagnostic counter widget to the status bar and fixed several bugs. - -[]($image.asset('2024-04-20.png')) - - -## [LSP diagnostics prep work]($section.id("2024-04-16T23:27:00")) - -Added processing of textDocument/publishDiagnostics notification message from the language server. -Ready to be rendered, but so far just logged. - - -## [Fuzzy finding]($section.id("2024-04-15T21:36:00")) - -Added fuzzy finding in the recent files list via fuzzig, a nice zig fuzzy finder library that was -released yesterday. Also fixed a couple of shutdown issues and an issue causing goto_definition and -get_mru_position to over write each other. - - -## [Most recently used persistence]($section.id("2024-04-11T23:04:00")) - -Today I added saving and restoring of the most-recently-used info on a per project basis. So the -order of the open recent file list and the last cursor position will now persist across sessions. - - -## [Vim bindings]($section.id("2024-04-09T23:11:00")) - -Updated the vim bindings to enable open recent, goto definition and jump mode. - - -## [Recent files tweaks]($section.id("2024-04-09T22:42:00")) - -Added lots of QOL tweaks to the recent files handling. The recent files list is now updated by most -recently used and the last file line column stored and restored on file switch. This means -switching back and forth between two (or more) files is as quick as double tapping Ctrl-e. - - -## [Mouse goto definition]($section.id("2024-04-09T19:25:00")) - -Added cross file location history today and also cleaned up the location history tracking logic a -lot. This, in combination with goto defintion, makes source navigation nice and slick. Also added -mouse bindings for goto_definition (alt-leftclick) and jump_back/forward (button8/button9) so you -can browse source comfortably with just the mouse. - -[]($video.asset('2024-04-09_flow_goto_definition.mp4').controls(true)) - - -## [Traces]($section.id("2024-04-08T22:38:00")) - -Mostly bug fixing today. Goto definition should be stable now. Also added a cli option to write -traces to a file (~/.cache/flow/trace.log) so you don't have to use tracy to see what is going on -inside flow. Add it multiple times (up to five) to get overloaded with detail. Next up will be -cross file location history and then after that I'll probably start work on completion. - - -## [LSP goto definition]($section.id("2024-04-05T23:03:00")) - -Today I got the first language server use case working. Goto definition works, at least for zls and -clangd! Lot's of issues still to fix, e.g. there is no cross file location history support yet, so -navigating back from a goto def is a bit of a pain. Probably more than a couple bugs too. But hey, -it still feels like a big step forward! ๐Ÿ˜ƒ๐Ÿพ - - -## [More LSP progress]($section.id("2024-04-04T22:00:00")) - -More work on LSP today. Got my first valid response from clangd to a textDocument/definition -request! Unfortunately zls is still giving me InvalidRequest responses, even though my request is -identical to the one sent by vscode. ๐Ÿคท - - -## [Modifer state tracking]($section.id("2024-04-01T22:39:00")) - -Added modifier state tracking today, along with a few other minor bug fixes. Modifier state, used -for ctrl-click, fast scroll and few other features, can no longer get stuck if your terminal drops -key events. This could happen previously on focus change. Now the modifier state will automatically -re-sync when you switch back to the terminal running flow. - - -## [More multi-cursor and some LSP]($section.id("2024-03-31T22:52:00")) - -Added two minor multi-cursor commands today. Add cursors to all matches (Ctrl-Shift-l) and Add -cursors to line ends (Shift-Alt-i). More for completness than anything else. I don't really use -these myself. - -Also, I continued working on LSP support. Started work on goto defintion via LSP. Still lot's to do -though before LSP is usable. - - -## [Open recent file search box]($section.id("2024-03-28T22:42:00")) - -Today I finished the basic functionality of the open recent file search box. - -There are still a few important details to add, like sorting the list by persisted MRU for example. - -[]($video.asset('2024-03-28_flow_open_recent.mp4').controls(true)) - - -## [Bracketed paste]($section.id("2024-03-20T21:52:00")) - -Today I've added support for bracketed paste. This means that pasting into the editor with your -terminal's paste function instead of flow's own paste keybind should work just as well as flow's -native paste command. No more endless undo steps because you pasted with the wrong keybind and no -more annoying auto-indent reformatting of pastes. This is especially nice if you often paste from a -clipboard manager application like I do. - - -## [Cursor collapsing]($section.id("2024-03-12T23:57:00")) - -Today I added cursor collapsing. Now cursors are removed if they end up pointing to the same -location as another cursor after a move operation. - - -## [Multi cursor copy & paste]($section.id("2024-03-11T21:48:00")) - -Today I finally added the finishing touches on multi-cursor support. Cut, copy & paste! -Multi-cursor is now complete. - -[]($video.asset('2024-03-11_multi-cursor_copy_paste.mp4').controls(true)) - - -## [Widgets]($section.id("2024-03-06T00:54:11")) - -I did some work on widgets today. Prep work for things like completion menus and command palette. -The menu on the home screen is now composed out of widgets that support mouse interaction, instead -of just a bunch of text printed to the plane. - -[]($video.asset('2024-03-06_00-54-11.mp4').controls(true)) - diff --git a/content/devlog/2024/2024-03-06_00-54-11.mp4 b/content/devlog/2024/2024-03-06_00-54-11.mp4 deleted file mode 100644 index f551fc5..0000000 Binary files a/content/devlog/2024/2024-03-06_00-54-11.mp4 and /dev/null differ diff --git a/content/devlog/2024/2024-03-11_multi-cursor_copy_paste.mp4 b/content/devlog/2024/2024-03-11_multi-cursor_copy_paste.mp4 deleted file mode 100644 index c9f925b..0000000 Binary files a/content/devlog/2024/2024-03-11_multi-cursor_copy_paste.mp4 and /dev/null differ diff --git a/content/devlog/2024/2024-03-28_flow_open_recent.mp4 b/content/devlog/2024/2024-03-28_flow_open_recent.mp4 deleted file mode 100644 index fb22f76..0000000 Binary files a/content/devlog/2024/2024-03-28_flow_open_recent.mp4 and /dev/null differ diff --git a/content/devlog/2024/2024-04-09_flow_goto_definition.mp4 b/content/devlog/2024/2024-04-09_flow_goto_definition.mp4 deleted file mode 100644 index b65d3d0..0000000 Binary files a/content/devlog/2024/2024-04-09_flow_goto_definition.mp4 and /dev/null differ diff --git a/content/devlog/2024/2024-04-20.png b/content/devlog/2024/2024-04-20.png deleted file mode 100644 index 44fbb02..0000000 Binary files a/content/devlog/2024/2024-04-20.png and /dev/null differ diff --git a/content/devlog/2024/2024-05-01.png b/content/devlog/2024/2024-05-01.png deleted file mode 100644 index bd609c0..0000000 Binary files a/content/devlog/2024/2024-05-01.png and /dev/null differ diff --git a/content/devlog/2024/2024-05-10.png b/content/devlog/2024/2024-05-10.png deleted file mode 100644 index 6fc49c4..0000000 Binary files a/content/devlog/2024/2024-05-10.png and /dev/null differ diff --git a/content/devlog/2024/2024-05-23-iterm2.png b/content/devlog/2024/2024-05-23-iterm2.png deleted file mode 100644 index 8ea5b93..0000000 Binary files a/content/devlog/2024/2024-05-23-iterm2.png and /dev/null differ diff --git a/content/devlog/2024/2024-05-23-windows-terminal.png b/content/devlog/2024/2024-05-23-windows-terminal.png deleted file mode 100644 index 2b5e265..0000000 Binary files a/content/devlog/2024/2024-05-23-windows-terminal.png and /dev/null differ diff --git a/content/devlog/2024/2024-06-07.png b/content/devlog/2024/2024-06-07.png deleted file mode 100644 index 6812bfe..0000000 Binary files a/content/devlog/2024/2024-06-07.png and /dev/null differ diff --git a/content/devlog/2024/2024-06-08.png b/content/devlog/2024/2024-06-08.png deleted file mode 100644 index dfc58ee..0000000 Binary files a/content/devlog/2024/2024-06-08.png and /dev/null differ diff --git a/content/devlog/2024/2024-06-14.png b/content/devlog/2024/2024-06-14.png deleted file mode 100644 index 72458b7..0000000 Binary files a/content/devlog/2024/2024-06-14.png and /dev/null differ diff --git a/content/devlog/index.smd b/content/devlog/index.smd deleted file mode 100644 index 60a66ae..0000000 --- a/content/devlog/index.smd +++ /dev/null @@ -1,20 +0,0 @@ ---- -.title = "Devlog Archive", -.date = @date("1990-01-01T00:00:00"), -.author = "CJ van den Berg", -.layout = "devlog-archive.shtml", -.alternatives = [{ - .name = "rss", - .layout = "devlog.xml", - .output = "index.xml", -}], -.draft = false, ---- - -[]($section.id('about')) -## About this Devlog - -I try to keep a log of major (and some minor) changes and new features going into flow. This is an -archive of posts from previous years. - -The latest devlog year is available [via RSS feed]($link.alternative('rss')). diff --git a/content/docs/index.smd b/content/docs/index.smd index b70e339..bd0dd88 100644 --- a/content/docs/index.smd +++ b/content/docs/index.smd @@ -2,7 +2,7 @@ .title = "Flow Control - a programmer's text editor", .date = @date("2020-07-06T00:00:00"), .author = "CJ van den Berg", -.layout = "index.shtml", +.layout = "home.shtml", .draft = false, --- diff --git a/content/faq.smd b/content/faq.smd index 9e179a8..9b9cf60 100644 --- a/content/faq.smd +++ b/content/faq.smd @@ -2,7 +2,7 @@ .title = "FAQ", .date = @date("2020-07-06T00:00:00"), .author = "CJ van den Berg", -.layout = "index.shtml", +.layout = "home.shtml", .draft = false, --- diff --git a/content/gems.smd b/content/gems.smd new file mode 100644 index 0000000..5b51e4e --- /dev/null +++ b/content/gems.smd @@ -0,0 +1,77 @@ +--- +.title = "Flow Control - a programmer's text editor", +.date = @date("2020-07-06T00:00:00"), +.author = "CJ van den Berg", +.layout = "gems.shtml", +.draft = false, +--- + +## We have hidden gems here + +A Rule + +--- + +### Lists + +* Flow +* Zig +* Zat + +### Numbered + +1. Egg +2. Chicken + 1. Raptor + 2. Mammals + +### An Image + +[This is the caption]($image.siteAsset('img/flow-control.png')) + +### Some ASCII +``` +โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +โ”‚ MONOSPACE ROCKS โ”‚ +โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ +``` + +``` +โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” +โ”‚Actor 1โ”‚ โ”‚Actor 2โ”‚ โ”‚Actor 3โ”‚ +โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜ + โ”‚ โ”‚ โ”‚ + โ”‚ โ”‚ msg 1 โ”‚ + โ”‚ โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚ + โ”‚ โ”‚ โ”‚ + โ”‚ msg 2 โ”‚ โ”‚ + โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚ โ”‚ +โ”Œโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ” +โ”‚Actor 1โ”‚ โ”‚Actor 2โ”‚ โ”‚Actor 3โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ +``` + +``` + Things I Have + + โ”‚ โ–ˆโ–ˆโ–ˆโ–ˆ Usable +15 โ”‚ + โ”‚ โ–‘โ–‘โ–‘โ–‘ Broken + โ”‚ +12 โ”‚ โ–‘ + โ”‚ โ–‘ + โ”‚ โ–‘ โ–‘ + 9 โ”‚ โ–‘ โ–‘ + โ”‚ โ–‘ โ–‘ + โ”‚ โ–‘ โ–‘ โ–‘ + 6 โ”‚ โ–ˆ โ–‘ โ–‘ โ–‘ + โ”‚ โ–ˆ โ–‘ โ–‘ โ–‘ + โ”‚ โ–ˆ โ–‘ โ–ˆ โ–‘ + 3 โ”‚ โ–ˆ โ–ˆ โ–ˆ โ–‘ + โ”‚ โ–ˆ โ–ˆ โ–ˆ โ–‘ + โ”‚ โ–ˆ โ–ˆ โ–ˆ โ–‘ + 0 โ””โ”€โ”€โ”€โ–€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + Socks Jeans Shirts USB Drives +``` + +Take a look [here](https://owickstrom.github.io/the-monospace-web/) for more capabilities if needed. \ No newline at end of file diff --git a/content/index.smd b/content/index.smd index 4659c0a..8bbd4e5 100644 --- a/content/index.smd +++ b/content/index.smd @@ -2,7 +2,7 @@ .title = "Flow Control", .date = @date("2020-07-06T00:00:00"), .author = "CJ van den Berg", -.layout = "index.shtml", +.layout = "home.shtml", .draft = false, --- diff --git a/layouts/devlog-archive.shtml b/layouts/devlog-archive.shtml deleted file mode 100644 index e9fb151..0000000 --- a/layouts/devlog-archive.shtml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - -

-
-
-

Past years

-
- - -

-
-
-
- \ No newline at end of file diff --git a/layouts/devlog.shtml b/layouts/devlog.shtml deleted file mode 100644 index 2c03629..0000000 --- a/layouts/devlog.shtml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - -

-
-
- -

- -
-
-
- \ No newline at end of file diff --git a/layouts/devlog.xml b/layouts/devlog.xml deleted file mode 100644 index ebde99f..0000000 --- a/layouts/devlog.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - Zine -- https://zine-ssg.io - en-US - - - - - - - - - - - - - - diff --git a/layouts/gems.shtml b/layouts/gems.shtml new file mode 100644 index 0000000..7366158 --- /dev/null +++ b/layouts/gems.shtml @@ -0,0 +1,3 @@ + + + diff --git a/layouts/home.shtml b/layouts/home.shtml new file mode 100644 index 0000000..010d80a --- /dev/null +++ b/layouts/home.shtml @@ -0,0 +1 @@ + diff --git a/layouts/index.shtml b/layouts/index.shtml index 54e79c5..010d80a 100644 --- a/layouts/index.shtml +++ b/layouts/index.shtml @@ -1,7 +1 @@ - - - -

-
- \ No newline at end of file diff --git a/layouts/templates/base.shtml b/layouts/templates/base.shtml index 6730224..72d2469 100644 --- a/layouts/templates/base.shtml +++ b/layouts/templates/base.shtml @@ -1,18 +1,17 @@ - - - - - + + + + + - - -