diff --git a/content/docs/architecture/command.smd b/content/docs/architecture/command.smd index 97d9ce1..167b479 100644 --- a/content/docs/architecture/command.smd +++ b/content/docs/architecture/command.smd @@ -11,9 +11,9 @@ --- Commands are actions triggered to operate on buffers primarily. They are -present in `editor`, `tui`, `mode` and `minimodes`, it's possible to -find commands in other places, which will become evident when the need -arises. +present in [editor](/docs/architecture/editor), `tui`, `mode` and +`minimodes`, it's possible to find commands in other places, which +will become evident when the need arises. ## Previous notes[]($section.id('notes')) @@ -160,6 +160,11 @@ pub fn select_to_char_left_helix(_: *void, ctx: Ctx) Result { ## [Next steps]($section.id('next')) +[Editor](/docs/architecture/editor) has a walkthrough when working with +selections, modifying the contents of the editor and deepens in concepts +that allow understand how the internal interactions happen when editing +a document. + [Minimodes](/docs/architecture/minimode) pass arguments to the editor, if you wonder how to go beyond the current buffer window, when there are actions like going to a specific line or when searching or diff --git a/content/docs/architecture/index.smd b/content/docs/architecture/index.smd index fc55c36..d0fbf00 100644 --- a/content/docs/architecture/index.smd +++ b/content/docs/architecture/index.smd @@ -43,18 +43,27 @@ offers services around the set of projects. ## [Editor commands and modes]($section.id("commands")) When a buffer is active, it has an Editor -attached to it; an editor might have associated tree-sitter support, -given the file type detected, and offers common services that are aimed -to be used by `Commands` to manipulate the contents of a buffer at a -higher level, the selections, cursors, cursor selections `CurSel` and -the `View`. [Commands](/docs/architecture/command) are used by `Modes` +attached to it; an [editor](/docs/architecture/editor) might have +associated tree-sitter support, given the file type detected, and +offers common services that are aimed to be used by `Commands` to +manipulate the contents of a buffer at a higher level, the +[selections](/docs/architecture/editor#selection_concept), +[cursors](/docs/architecture/editor#cursor_concept), +cursor selections +([CurSel](/docs/architecture/editor#cursel_concept)), +[markers](/docs/architecture/editor#mark_concept) and the +[view](/docs/architecture/editor#view_concept). + +[Commands](/docs/architecture/command) are used by `Modes` with [Keybindings](/docs/architecture/keybind). The main mode is Flow and the keybindings can be used to map to a mode built up entirely on -solely calling already created commands. An example of a mode -created by command composition is `Emacs` mode, for instance, it's -possible to create a nano mode with just keybindings. In the other hand, -`Vim` and [Helix](/docs/mode/helix) modes have particular definitions -for commands that interact with the buffers, being modal editors. +solely calling already created commands. + +An example of a mode created by command composition is `Emacs` mode, +for instance, it's possible to create a nano mode with just keybindings. +In the other hand, `Vim` and [Helix](/docs/mode/helix) modes have +particular definitions for commands that interact with the buffers, +being modal editors. ## [Text user interface]($section.id("tui")) diff --git a/layouts/tutorial.shtml b/layouts/tutorial.shtml index 4320ae2..5fb0595 100644 --- a/layouts/tutorial.shtml +++ b/layouts/tutorial.shtml @@ -18,7 +18,7 @@