File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -32,7 +32,7 @@ rm luacov.stats.out && just test && just generate-test-coverage-report && open l
3232### Version release & distribution
3333
34341 . Cut off a version in ` CHANGELOG.md ` by moving the content of “Unreleased” to
35- “TBR — \< date\> ”.
35+ “TBR —\< date\> ”.
36361 . Bump the version with a commit & tag:
3737 ` just bump ` .
38381 . Release the version commit & tag:
@@ -84,6 +84,74 @@ graph TD
8484 end
8585```
8686
87+ ## Architecture
88+
89+ ``` mermaid
90+ ---
91+ title: Coerce.nvim module structure
92+ ---
93+ graph LR
94+ coerce[coerce.lua]
95+
96+ subgraph "coerce/"
97+ keymap[keymap]
98+
99+ subgraph "Logic"
100+ case
101+ transformer
102+ conversion -.-> selector
103+ conversion -.-> transformer
104+ end
105+
106+ subgraph "Utils"
107+ region
108+ string
109+ table
110+ end
111+
112+ subgraph "Neovim Utils"
113+ operator
114+ visual
115+ end
116+
117+ subgraph "vim" [vim/]
118+ vim-api[vim.api]
119+ vim-fn[vim.fn]
120+ vim-lsp[vim.lsp]
121+ end
122+
123+ case --> string
124+ transformer --> region
125+ selector --> region
126+
127+ selector --> operator
128+ selector --> visual
129+
130+ transformer --> vim
131+ transformer --> vim
132+ operator --> vim
133+ visual --> vim
134+ end
135+
136+ coerce --> case
137+ coerce --> selector
138+ coerce --> transformer
139+ coerce --> keymap
140+ coerce --> conversion
141+
142+ vim-api --> region
143+ ```
144+
145+ ### Module Breakdown
146+
147+ - ** Entry point** :
148+ ` coerce.lua ` initializes the plugin and orchestrates the different components.
149+ - ** Logic** :
150+ Contains the core transformation logic, including case conversion rules and
151+ application strategies (local vs. LSP rename).
152+ - ** vim/** :
153+ Utilities for Neovim API.
154+
87155## ARDs
88156
89157### Using LuaRocks
You can’t perform that action at this time.
0 commit comments