From 7865f9a44be25618fc51b338044c588f76c9e8ad Mon Sep 17 00:00:00 2001 From: TheOnePath Date: Sat, 4 Feb 2023 20:37:12 +0000 Subject: [PATCH] Renamed README.md -> README.txt Renamed README to be a plaintext file instead of Markdown due to Markdown syntax interfering with document layout. --- README.md | 4 ---- README.txt | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 4 deletions(-) delete mode 100644 README.md create mode 100644 README.txt diff --git a/README.md b/README.md deleted file mode 100644 index 4e65a7a..0000000 --- a/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# presser.nvim -A collection of word processing tools to press over your files easier with UIs. - -For unstable and latest features, see the [experimental](https://git.closedless.xyz/TheOnePath/presser.nvim/src/branch/experimental) branch. diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..be212c3 --- /dev/null +++ b/README.txt @@ -0,0 +1,56 @@ +# presser.nvim +A collection of word processing tools to press over your files easier with UIs. + +For unstable and latest features, see the [experimental](https://git.closedless.xyz/TheOnePath/presser.nvim/src/branch/experimental) branch. + +## Architecture +The diagram below outlines the overall architecture of presser.nvim and how each component interacts with each other. + + ++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++ ++ + + + + + ++ + + + + + ++ + + + + + ++ Context Manager + + Steamers + + Actions + ++ + + + + + ++ + + + + + ++ + + + + + ++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++ + | | | + [5] +---------------------------------------------+-----+ [4] | + v | ++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++ | ++ + + + | ++ + + + | ++ + [2] + + [3] | ++ Builtins + <--------------- + Pressers + <-----------------+ ++ + + + | ++ + + + | ++ + + + | ++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++ | + I | + | [1] | [6] + | I ++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++ + + + ++ User + + Window buffer + ++ + + + ++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +[1] - The User interacts with Builtins to use a Presser. +[2] - Builtins inherit Pressers and lazy loads them to be accessed by Users. +[3] - Pressers make use of Actions to do the work. +[4] - Pressers inherit Steamers, giving them the ability to generate UIs for the user. +[5] - Pressers make use of the Context Manager to organise and track Steamers. +[6] - Actions will directly modify the contents of the Window buffer. + +### List of Components + +* User + Window buffer - refers to Neovim, which has the User who does something within the Window buffer. +* Builtins - Lazy loaded interface responsible for acting as a proxy to Pressers. +* Pressers - Tools which allow the User to perform different word processing tasks. Comprised of Steamers, and perform + Actions to modify the Window buffer. +* Steamers - Class module which is responsible for constructing buffers, creating a UI for the User. +* Context Manager - A data structure which is used to store Steamers for a given context (the Presser). Also known as, + "GCM" due to being scoped to vim.g. +* Actions - Perform an action defined for a Presser, which will modify the Window buffer in some way.