summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autoload/clever_tee/migemo/cp932.vim (renamed from autoload/clever_f/migemo/cp932.vim)2
-rw-r--r--autoload/clever_tee/migemo/eucjp.vim (renamed from autoload/clever_f/migemo/eucjp.vim)2
-rw-r--r--autoload/clever_tee/migemo/utf8.vim (renamed from autoload/clever_f/migemo/utf8.vim)2
-rw-r--r--conformance/README.txt2
-rw-r--r--conformance/fixtures/reference-examples.json34
-rw-r--r--conformance/fixtures/transition-fixtures.json74
-rw-r--r--conformance/requirements.tsv40
-rw-r--r--conformance/scenario-schema.json6
-rw-r--r--lua/clever_tee/acquisition_service.lua (renamed from lua/clever_f/acquisition_service.lua)28
-rw-r--r--lua/clever_tee/action_facade.lua (renamed from lua/clever_f/action_facade.lua)4
-rw-r--r--lua/clever_tee/capabilities.lua (renamed from lua/clever_f/capabilities.lua)0
-rw-r--r--lua/clever_tee/case_policy.lua (renamed from lua/clever_f/case_policy.lua)4
-rw-r--r--lua/clever_tee/composition_root.lua (renamed from lua/clever_f/composition_root.lua)16
-rw-r--r--lua/clever_tee/destination_engine.lua (renamed from lua/clever_f/destination_engine.lua)6
-rw-r--r--lua/clever_tee/direct_preview_planner.lua (renamed from lua/clever_f/direct_preview_planner.lua)6
-rw-r--r--lua/clever_tee/domain.lua (renamed from lua/clever_f/domain.lua)2
-rw-r--r--lua/clever_tee/feedback_service.lua (renamed from lua/clever_f/feedback_service.lua)52
-rw-r--r--lua/clever_tee/host_adapter.lua (renamed from lua/clever_f/host_adapter.lua)24
-rw-r--r--lua/clever_tee/init.lua (renamed from lua/clever_f/init.lua)8
-rw-r--r--lua/clever_tee/migemo_catalog.lua (renamed from lua/clever_f/migemo_catalog.lua)24
-rw-r--r--lua/clever_tee/motion_executor.lua (renamed from lua/clever_f/motion_executor.lua)12
-rw-r--r--lua/clever_tee/motion_plan.lua (renamed from lua/clever_f/motion_plan.lua)4
-rw-r--r--lua/clever_tee/policy.lua (renamed from lua/clever_f/policy.lua)14
-rw-r--r--lua/clever_tee/repeat_resolver.lua (renamed from lua/clever_f/repeat_resolver.lua)8
-rw-r--r--lua/clever_tee/sequence_coordinator.lua (renamed from lua/clever_f/sequence_coordinator.lua)28
-rw-r--r--lua/clever_tee/sequence_state.lua (renamed from lua/clever_f/sequence_state.lua)4
-rw-r--r--lua/clever_tee/state_transitions.lua (renamed from lua/clever_f/state_transitions.lua)12
-rw-r--r--lua/clever_tee/target_plan.lua (renamed from lua/clever_f/target_plan.lua)10
-rw-r--r--lua/clever_tee/testing/memory_host.lua (renamed from lua/clever_f/testing/memory_host.lua)6
-rw-r--r--lua/clever_tee/text_topology.lua (renamed from lua/clever_f/text_topology.lua)6
-rw-r--r--plugin/clever_f.lua6
-rw-r--r--plugin/clever_tee.lua6
-rw-r--r--tests/conformance.lua14
-rw-r--r--tests/host_adapter_contract.lua24
-rw-r--r--tests/invariants.lua6
-rw-r--r--tests/phase16.lua12
-rw-r--r--tests/plugin_conformance.lua52
-rw-r--r--tests/plugin_smoke.lua50
-rw-r--r--tests/profile.lua18
-rw-r--r--tests/run.lua232
40 files changed, 430 insertions, 430 deletions
diff --git a/autoload/clever_f/migemo/cp932.vim b/autoload/clever_tee/migemo/cp932.vim
index 82d2290..6424f7f 100644
--- a/autoload/clever_f/migemo/cp932.vim
+++ b/autoload/clever_tee/migemo/cp932.vim
@@ -1,5 +1,5 @@
scriptencoding cp932
-function! clever_f#migemo#cp932#load_dict() abort
+function! clever_tee#migemo#cp932#load_dict() abort
return {
\ 'a' : '\%([ݕNҊ{b]毛^w܏㦚@oC粕ӓJlVȌlˆ^Мۜ{Qz鸈WEB{MQ榓kw{\N}Ho{tVpA֔\HՓaڏS[矏NaWo㻓֏~ĔMؒg禈Ŋ[NΎҕae}yRXvI\॑ŐVaz\eX~dVEYэʊ늿ߎӕT瑀剕ՕP]JÓV쉐˖ԋY͈b般HꙌǖsNL[ӟ䈮NzPjEDɏ͏W쏺Hq蕚V襕B\͈ԑ~㪌ZQsň}Ĉǝƈ䒩툤@rb`~qgݝю鈩[脝ōCK暖\ؐԙzЕɈŒaS㈢ҌݕJ숫rG}Lj򈡈}[YޝKgOc&ȁ_ڋ͋́ˁ܌WāNLMOf`Ap@a]\|\_s*\|\_s*\|\_s*\|\_s*\|Z\_s*\%(n\|i\_s*n\_s*c\)\|\_s*q\|\_s*\|E\_s*n\|f\_s*\|\_s*\|M\_s*V\_s*\|\_s*T\|\_s*\|Z\_s*q\|\_s*\|l\_s*\|\_s*\|\_s*\|^\_s*\|\_s*\|\_s*w\|\_s*[]\|\_s*p\|\_s*\|\_s*\|L\_s*a\_s*r\_s*d\_s*i\_s*z\_s*a\_s*b\_s*a\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*{\|\_s*\%(\|\_s*q\)\|\_s*\%(\|\_s*\_s*\_s*\_s*\)\|H\_s*a\_s*b\|H\_s*a\_s*l\_s*o\_s*r\_s*a\_s*g\_s*a\_s*l\_s*e\_s*s\|\_s*F\|\_s*\|\_s*`\|^\_s*\_s*\_s*\|\_s*\|\_s*\|D\_s*`\|\_s*[K]\|\_s*G\|\_s*[mF]\|\_s*x\|\_s*\|\_s*\|\_s*\|p\_s*\%([ۓc]\|\_s*p\|\_s*\)\|\_s*[ɁX]\|E\_s*\%(s\|i\_s*n\_s*s\_s*t\_s*e\_s*i\_s*n\_s*i\_s*u\_s*m\)\|I\_s*\%(r\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|P\_s*\%(d\_s*b\|A\_s*h\_s*\_s*X\)\|D\_s*J\_s*[\_s*h\|C\_s*\%(^\_s*O\|J\_s*[\_s*h\)\)\|h\_s*\%(o\_s*d\_s*b\|b\_s*\%(^\_s*O\|J\_s*[\_s*h\)\)\|\_s*~\|\_s*\|c\_s*\|n\_s*\_s*\|C\_s*[^lm]\|R\_s*u\_s*b\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\_s*a\_s*\|\_s*\|\_s*n\|\_s*[ꆔn]\|M\_s*a\_s*l\_s*v\_s*a\_s*l\_s*e\_s*s\|g\_s*\_s*v\_s*\_s*A\|\_s*\| \_s*A\_s*N\_s*V\_s*A\_s*\|q\_s*f\|\_s*f\|\_s*s\_s*\_s*x\_s*Z\_s*p\_s*\_s*\_s*\|\_s*\|\_s*Y\|\_s*\|G\_s*o\_s*l\_s*d\|\_s*\_s*\%(\_s*\_s*\_s*\_s*\_s*\_s*@\|a\_s*\_s*\_s*@\)\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|Z\_s*\_s*g\_s*L\_s*b\_s*c\_s*l\|S\_s*\%(b\|i\_s*l\_s*v\_s*e\_s*r\)\|g\_s*p\_s*\_s*\\|\_s*p\_s*\_s*\\|Z\_s*@\|\_s*\_s*\_s*\|I\_s*\%(\|M\_s*\_s*X\_s*^\_s*\|h\_s*\_s*C\|\_s*O\_s*X\_s*g\_s*\_s*[\_s*\|\_s*\%(g\_s*L\_s*[\|^\_s*\%([[i]\|l\_s*\%([\_s*g\|C\_s*g\)\)\)\|[\_s*\%([NKTg]\|j\_s*\_s*O\|L\_s*V\_s*\|u\_s*\_s*[\|o\_s*[\_s*h\|x\_s*\_s*W\_s*\|M\_s*\_s*X\_s*\%(g\|^\_s*\)\|]\_s*\_s*k\|X\_s*\%(`\_s*\|e\_s*B\_s*\|^\_s*[\|g\_s*\%(\_s*A\|\_s*\_s*A\)\)\|h\_s*\_s*[\|W\_s*\%([F[]\|I\_s*\_s*W\)\|f\_s*B\_s*\%(I\|G\_s*\_s*X\|V\_s*\_s*\|g\_s*\_s*A\_s*\)\|^\_s*\|\\_s*\%(\_s*e\_s*B\|\_s*C\_s*Y\)\|Z\_s*\_s*e\_s*B\_s*b\_s*N\|\_s*\)\)\|z\_s*\|o\_s*C\_s*g\|n\_s*\_s*}\_s*Q\_s*h\_s*\|\_s*\|l\_s*H\_s*\%(\_s*\_s*\|m\_s*\\)\|C\_s*\%([\_s*W\_s*X\|I\_s*\|\\_s*b\_s*v\)\|}\_s*\_s*h\_s*D\_s*[\_s*N\|\_s*\%(z\_s*\|\_s*\|\_s*p\)\|A\_s*\%([tlrImc]\|u\_s*s\_s*t\_s*r\_s*o\_s*b\_s*a\_s*i\_s*l\_s*e\_s*y\_s*a\_s*c\_s*e\_s*a\_s*e\|n\_s*t\_s*i\_s*m\_s*o\_s*n\_s*y\|K\_s*C\_s*L\|S\_s*C\_s*I\_s*I\|s\_s*t\_s*a\_s*t\_s*i\_s*n\_s*e\|^\_s*C\_s*v\|T\_s*O\_s*K\|N\_s*S\_s*I\|V\_s*V\_s*X\_s*e\_s*\|L\_s*T\_s*L\_s*[\|\_s*\_s*N\|E\_s*R\_s*A\|D\_s*S\_s*L\_s*\_s*f\_s*\|h\_s*\_s*C\_s*u\|d\_s*a\|M\_s*\_s*W\_s*I\|b\_s*s\_s*t\_s*r\_s*a\_s*c\_s*t\_s* \_s*C\_s*o\_s*n\_s*t\_s*r\_s*o\_s*l\_s* \_s*M\_s*o\_s*d\_s*e\_s*l\|J\_s*b\_s*v\|N\_s*\_s*X\|C\_s*A\_s*_\_s*v\_s*^\)\|t\_s*^\|`\_s*\%([S^]\|\_s*\_s*\|a\_s*\%(^\|\_s*\_s*\_s*\)\|^\_s*C\_s*v\|s\_s*\_s*s\|\_s*\%(\_s*\|\_s*\_s*\_s*\)\|\_s*\_s*N\|h\_s*G\_s*L\_s*X\_s*p\_s*[\_s*g\|^\_s*c\_s*R\_s*\_s*o\_s*[\_s*^\|h\_s*\_s*C\_s*u\|\_s*\_s*\_s*\|J\_s*b\_s*v\|N\_s*\_s*X\|\_s*\_s*\_s*\)\|\_s*p\|G\_s*\%([jAC[]\|b\_s*`\|\_s*\%(h\_s*\_s*\|W\_s*F\_s*\%(\|\_s*b\_s*N\)\|[\_s*\)\|\_s*A\|I\_s*\_s*A\|X\_s*e\|v\_s*\_s*\)\)',
\ 'b' : '\%([ݍxftݖv{}~Ϟsr`ڝpؖnlmqbQ쟂ۙR廖ge䛖OE庈ꆉK㦖RWaXZU`YNϛ˖Sc]fhT^ddە_@W敖͕ꊱVGJڙkK럑㰙pgꈕ̕VՙAğ~܍燙ᾙjוؕ糉•粂בD[kuqJڒܐ[W᳓ؐߕܖܘŕhᕷwŕsFU򐁕xᕔF~o@ԕ捐lLJxʕTCZz[ߞ㢛mpCޜrF{qn֛焕S蓔Ialߕ[Leὕdcb`_aΓZrۖoɔzeX]䛇gє䊑ыIs@[bV鯝UAjcUPWєm\e}ޔȉSit䕔|ꀊL{~}ŝםf\ҔԖ_Jmה”dHݔ֔ӔՔԔؖ따ntklyHŐmn\΂gۉ~ba|_攞{onmopurAqxb]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|b\_s*[{xuro]\|\_s*[ڂׂԂт]\|\_s*\|\_s*\|A\_s*\|P\_s*a\_s*e\_s*o\_s*n\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\|\_s*Z\|\_s*\|r\_s*r\|\_s*\|\_s*\|\_s*_\|\_s*_\|\_s*\|E\_s*\|\_s*\|\_s*C\|\_s*\|X\_s*[j]\|R\_s*\_s*O\|F\_s*a\_s*g\_s*a\_s*l\_s*e\_s*s\|z\_s*c\|\_s*\|u\_s*\%(\|l\_s*b\_s*N\|V\_s*l\_s*}\)\|\_s*q\|t\_s*q\|\_s*\|L\_s*[O]\|\_s*\|V\_s*A\_s*O\|\_s*[ĘU]\|\\_s*D\|\_s*[D]\|\_s*\|o\_s*\_s*\|\_s*\|\_s*\|S\_s*a\_s*n\_s*t\_s*a\_s*l\_s*a\_s*l\_s*e\_s*s\|h\_s*\|\_s*[q@]\|\\_s*\|\_s*[Žq]\|\_s*\|\_s*\|\_s*q\|c\_s*\_s*\_s*\|b\_s*\_s*\|R\_s*o\_s*s\_s*a\_s*l\_s*e\_s*s\|K\_s*N\|\_s*q\|\_s*\%([ъyJ]\|\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|A\_s*n\_s*n\_s*o\_s*n\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|\_s*[]\|f\_s*\_s*\|v\_s*\_s*R\_s*M\|\_s*\_s*\|I\_s*[\_s*g\_s*o\_s*C\|\_s*[b]\|t\_s*@\_s*S\_s*b\_s*g\|w\_s*i\|k\_s*\|y\_s*\%(L\_s*\|e\_s*\_s*M\_s*E\_s*X\)\|L\_s*f\|C\_s*M\_s*\_s*X\|a\_s*\%([ʔ^]\|\_s*E\|^\_s*C\_s*v\|h\_s*\_s*C\_s*u\|J\_s*b\_s*v\|N\_s*\_s*X\||\_s*X\_s*v\_s*\_s*C\_s*\|\_s*\_s*\_s*m\_s*\_s*\_s*\|\_s*\_s* \_s*d\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*N\)\|z\_s*E\_s*f\|B\_s*\%([hʔ^kiae]\|C\_s*\_s*\|N\_s*F\_s*(\_s*B\_s*a\_s*c\_s*k\_s*u\_s*s\_s*-\_s*N\_s*a\_s*u\_s*r\_s* \_s*F\_s*o\_s*r\_s*m\_s*)\|B\_s*C\|^\_s*C\_s*v\|u\_s*r\_s*k\_s*i\_s*n\_s*a\_s* \_s*F\_s*a\_s*s\_s*o\|t\_s*\_s*b\_s*c\|h\_s*\_s*C\_s*u\|J\_s*b\_s*v\|N\_s*\_s*X\|M\_s*P\_s*t\_s*@\_s*C\_s*\|X\_s*v\_s*\_s*C\_s*\|S\_s*\%(D\|L\_s*[\|`\_s*\_s*[\_s*i\|A\_s*\_s*e\_s*i\|f\_s*W\_s*^\_s*\)\|O\_s*X\_s*Z\_s*b\_s*g\|I\_s*T\_s*N\_s*E\_s*T\|r\_s*o\_s*m\_s*i\_s*n\_s*e\|\_s*\_s*N\|o\_s*\%(h\_s*r\_s*i\_s*u\_s*m\|v\_s*i\_s*n\_s*e\_s* \_s*S\_s*p\_s*o\_s*n\_s*g\_s*i\_s*f\_s*o\_s*r\_s*m\_s* \_s*E\_s*n\_s*c\_s*e\_s*p\_s*h\_s*a\_s*l\_s*o\_s*p\_s*a\_s*t\_s*h\_s*y\|o\_s*k\|r\_s*o\_s*n\)\)\|\_s*f\)',
diff --git a/autoload/clever_f/migemo/eucjp.vim b/autoload/clever_tee/migemo/eucjp.vim
index a247def..03e35ad 100644
--- a/autoload/clever_f/migemo/eucjp.vim
+++ b/autoload/clever_tee/migemo/eucjp.vim
@@ -1,5 +1,5 @@
scriptencoding euc-jp
-function! clever_f#migemo#eucjp#load_dict() abort
+function! clever_tee#migemo#eucjp#load_dict() abort
return {
\ 'a' : '\%([ԳȯϾտƭ޾ӡŤƬѫͷʷİͿø̵ܶܵ驰нƪ鷹ѻˢǽܽ֦½ΦؽǮȲ䰵ǴռݯмԹڹײϪɽ¹ͽЮɷ庾Ӻ̴ɵఽ;ŷ°ֵϰ̣Ԫƴ갮ůۭμ氰ᄑϯ۸ޫۦۥ˾ϾԼݷʸۣ齶ϰ갥欷԰ǰްưðȰīﰦð­ҹӼ밫Ƽǹ˽˰ķ°մ尤Ըʻᰢͭ˴±޽کг󰸶˰بĤ&ʢܶ϶΢͢޸姸ơǡ򦡥ѧa]\|\_s*\|\_s*\|\_s*\|\_s*\|Z\_s*\%(n\|i\_s*n\_s*c\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*ŷ\_s*\|\_s*ŵ\|\_s*\|\_s*\|\_s*Ʀ\|\_s*\|\_s*\|\_s*̾\|\_s*̾\|\_s*\|\_s*\|\_s*[Ļ]\|\_s*\|\_s*\|\_s*\|L\_s*a\_s*r\_s*d\_s*i\_s*z\_s*a\_s*b\_s*a\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|\_s*\%(\|¹\_s*\)\|\_s*\%(\|\_s*\_s*\_s*ʪ\_s*\)\|\_s*\_s*\|H\_s*a\_s*l\_s*o\_s*r\_s*a\_s*g\_s*a\_s*l\_s*e\_s*s\|ޱ\_s*\|\_s*\|Ʀ\_s*\|\_s*\_s*\_s*\|\_s*¿\|\_s*\|\_s*\|\_s*[Ǭ]\|\_s*\|\_s*[ɧ]\|\_s*\|\_s*\|\_s*\|Ҹ\_s*\|\_s*\%([]\|\_s*\|\_s*\)\|\_s*[ˡ]\|E\_s*\%(s\|i\_s*n\_s*s\_s*t\_s*e\_s*i\_s*n\_s*i\_s*u\_s*m\)\|I\_s*\%(r\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|P\_s*\%(\_s*\|\_s*\_s*\_s*\)\|D\_s*\_s*\_s*\|C\_s*\%(\_s*\|\_s*\_s*\)\)\|\_s*\%(\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\)\)\|\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*[ɿͽ]\|R\_s*u\_s*b\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*[]\|M\_s*a\_s*l\_s*v\_s*a\_s*l\_s*e\_s*s\|\_s*\_s*\_s*\_s*A\|\_s*\| \_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\|G\_s*o\_s*l\_s*d\|\_s*ư\_s*\%(\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\)\|°\_s*\|\_s*\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|S\_s*\%(b\|i\_s*l\_s*v\_s*e\_s*r\)\|\_s*\_s*\_s*ǽ\|\_s*\_s*\_s*ǽ\|\_s*ˡ\|\_s*\_s*\_s*\|\_s*\%(\|\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\_s*\|\_s*\%([]\|\_s*\%(\_s*\|\_s*\)\)\)\|\_s*\%([ȥ]\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\%(\|\_s*\)\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\_s*\)\)\|\_s*\_s*\|\_s*\%([]\|\_s*\_s*\)\|\_s*\_s*\%(\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\_s*\_s*\|\_s*\)\)\|\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\|\_s*\_s*\%(\_s*\_s*\|\_s*ǽ\)\|\_s*\%(\_s*\_s*\|\_s*\|\_s*\_s*\)\|\_s*\_s*\_s*\_s*\_s*\|\_s*\%(\_s*\|\_s*\|\_s*\)\|A\_s*\%([tlrImc]\|u\_s*s\_s*t\_s*r\_s*o\_s*b\_s*a\_s*i\_s*l\_s*e\_s*y\_s*a\_s*c\_s*e\_s*a\_s*e\|n\_s*t\_s*i\_s*m\_s*o\_s*n\_s*y\|K\_s*C\_s*L\|S\_s*C\_s*I\_s*I\|s\_s*t\_s*a\_s*t\_s*i\_s*n\_s*e\|\_s*\_s*\|T\_s*O\_s*K\|N\_s*S\_s*I\|V\_s*\_s*\_s*\_s*\|L\_s*T\_s*\_s*\|\_s*\_s*\|E\_s*R\_s*A\|D\_s*S\_s*L\_s*\_s*\_s*\|\_s*\_s*\_s*\|d\_s*a\|M\_s*\_s*\_s*\|b\_s*s\_s*t\_s*r\_s*a\_s*c\_s*t\_s* \_s*C\_s*o\_s*n\_s*t\_s*r\_s*o\_s*l\_s* \_s*M\_s*o\_s*d\_s*e\_s*l\|\_s*\_s*\|\_s*\_s*\|C\_s*\_s*\_s*\_s*\)\|\_s*Ͽ\|\_s*\%([]\|\_s*\_s*\|\_s*\%(\|\_s*\_s*\_s*\)\|\_s*\_s*\|\_s*\_s*\|\_s*\%(\_s*\|\_s*\_s*\_s*\)\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\)\|\_s*\|\_s*\%([˥ᥢ]\|\_s*\|\_s*\%(\_s*\_s*\|\_s*\_s*\%(\|\_s*\_s*\)\|\_s*\)\|\_s*\|\_s*\_s*\|\_s*\|\_s*\_s*\)\)',
\ 'b' : '\%([߹ڽھ˲ѳ̶˦꼰汬˳ر˸˹˻˶˺˴˾˵˿籸촳Ħ˷ը˫ѹʽٷҡ޺˼ūʥ޽޼޿ʪɲʹʸ̵ʬק£͹ɵɤޣֱؾݧɴ졪¡ɼǭ֢ʿջ̤׹߾Ȣ®Ӷ˪ȭƯȫȪʵɡüΥV̥ȵٶȶǢʢĻʧ㱸Ȥ˽ʱ೭ȹȨؤȽȼ㩺Ȳȴȳ粽ڱĥŽУʩݲߡá¡ݡܥСϡΡСѥ֥ӧҦ¥b]\|\_s*\%(\_s*\|\_s*\|\_s*\|\_s*\|\_s*\)\|\_s*[ܥ٥֥ӥ]\|\_s*[ܤ٤֤Ӥ]\|\_s*\|\_s*\|\_s*\|P\_s*a\_s*e\_s*o\_s*n\_s*i\_s*a\_s*\%(c\_s*e\_s*a\_s*e\|l\_s*e\_s*s\)\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*\|\_s*Ǥ\|\_s*\|\_s*[]\|\_s*\_s*ݰ\|F\_s*a\_s*g\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*\|\_s*\%(\|\_s*\_s*\|\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|˭\_s*[]\|\_s*\|ŷ\_s*\_s*\|\_s*[϶]\|׽\_s*˥\|\_s*[̡˥]\|\_s*Ҵ\|\_s*Ƭ\_s*\|\_s*\|\_s*\|S\_s*a\_s*n\_s*t\_s*a\_s*l\_s*a\_s*l\_s*e\_s*s\|\_s*\|ʼ\_s*[ˡ]\|ɽ\_s*\|\_s*[Ļ]\|\_s*\|ȯ\_s*\|\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|R\_s*o\_s*s\_s*a\_s*l\_s*e\_s*s\|\_s*\|\_s*\|\_s*\%([ӳϫ]\|\_s*\_s*\)\|\_s*\|\_s*\|\_s*\|A\_s*n\_s*n\_s*o\_s*n\_s*a\_s*c\_s*e\_s*a\_s*e\|\_s*\|\_s*[]\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\|\_s*[]\|\_s*\_s*\_s*\_s*\|\_s*\|\_s*\|\_s*\%(\_s*\|\_s*\_s*\_s*\_s*\)\|\_s*\|\_s*\_s*\_s*\|\_s*\%([Ƚ鷿]\|\_s*˦\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\_s*\_s*\|\_s*\_s* \_s*\_s*\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\)\|\_s*\_s*\|B\_s*\%([hȽ鷿kiae]\|C\_s*ʼ\_s*\|N\_s*F\_s*(\_s*B\_s*a\_s*c\_s*k\_s*u\_s*s\_s*-\_s*N\_s*a\_s*u\_s*r\_s* \_s*F\_s*o\_s*r\_s*m\_s*)\|B\_s*C\|\_s*\_s*\|u\_s*r\_s*k\_s*i\_s*n\_s*a\_s* \_s*F\_s*a\_s*s\_s*o\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\|\_s*\_s*\|M\_s*P\_s*\_s*\_s*\_s*\|\_s*\_s*\_s*\_s*\|S\_s*\%(D\|\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\|\_s*\_s*\_s*\)\|O\_s*X\_s*\_s*\_s*\|I\_s*T\_s*N\_s*E\_s*T\|r\_s*o\_s*m\_s*i\_s*n\_s*e\|\_s*\_s*\|o\_s*\%(h\_s*r\_s*i\_s*u\_s*m\|v\_s*i\_s*n\_s*e\_s* \_s*S\_s*p\_s*o\_s*n\_s*g\_s*i\_s*f\_s*o\_s*r\_s*m\_s* \_s*E\_s*n\_s*c\_s*e\_s*p\_s*h\_s*a\_s*l\_s*o\_s*p\_s*a\_s*t\_s*h\_s*y\|o\_s*k\|r\_s*o\_s*n\)\)\|\_s*\)',
diff --git a/autoload/clever_f/migemo/utf8.vim b/autoload/clever_tee/migemo/utf8.vim
index 6c877eb..c6b5a5a 100644
--- a/autoload/clever_f/migemo/utf8.vim
+++ b/autoload/clever_tee/migemo/utf8.vim
@@ -1,5 +1,5 @@
scriptencoding utf-8
-function! clever_f#migemo#utf8#load_dict() abort
+function! clever_tee#migemo#utf8#load_dict() abort
return {
\ 'a' : '\%([ア餅母渉恤閔憐慌遽蚫鰒鮑袷淡∃主衽袵歩垤蟻麁凡塔蘭露著表霰非諍抗更検革改現競爭争洗殿鉱予豫粗嵐禮恠妖彪殺絢怪綺肖彩漢過謝謬誤礼操綾飴菴黯罨鱇鮟餡行闇按諳晏鞍暗鶩鬚鰓顎喘発肋豈嫂兄崇騰県購贖网罔咫與鼎中新邉邊辺恰頭價価値游遊畔畦堋杏梓与袙衵憬孔坑案侮窖強貴讐讎徒仇黶痣欺鮮字糾嘲薊姐姉曙炮焙炙蜚薹膏脂油危鐙虻泡蹟能痕踪跡東預聚輯纂遏蒐乢軋誂羹壓惇集陸敦暑淳篤熱扱暖温遖斡私圧焦汗央奥奧媼桜櫻塰蜑餘遍普周剰蔗余尼雨甘天凹押樗楝溢艶庵鰺網戯簣鯵味堊渥軛圷憧欠踵幄握芥齷厚漁鯏蜊蕣淺麻浅晰龝煥晢呆朖啓亮晄鑑滉昜旭聡光亨陽洸璋顯輝昿曠諦朗哲顕彬晶賈章商穐彰晃晧昭秋噫瞹穢阨埃欸姶隘文粟曖鮎藹饗靉挨間相哀葭趾朝晨愛跛蹇跫脚蘆葦芦鐐桎足淦赫燈赧紅旃朱茜藜銅赭閼曉暁垢皹皸絳灯證暴証赤呷扇黝榮碧葵蒼煽仰青穴和或哇婀当上阿編吾在併明開韲悪荒襾痾浴唖有挙遭逢嗚敢褪娃安厭充該彼擧會飫倦合亞揚椏宛遇飽惡當あa藍金@&&∧∩論∠銀会∀空域⇔←↓⇒→↑⌒後Ц亜米¨´`^’〜≒αÅΑアаАa]\|厦\_s*門\|廈\_s*門\|沫\_s*雪\|食\_s*蟻\_s*獣\|H\_s*a\_s*l\_s*o\_s*r\_s*a\_s*g\_s*a\_s*l\_s*e\_s*s\|浣\_s*熊\|菖\_s*蒲\|豆\_s*汁\|蛙\_s*鳴\_s*蝉\_s*噪\|塩\_s*梅\|家\_s*鴨\|趺\_s*坐\|Z\_s*\%(n\|i\_s*n\_s*c\)\|浮\_s*子\|痘\_s*痕\|窪\_s*地\|糠\_s*蝦\|醤\_s*蝦\|信\_s*天\_s*翁\|左\_s*沢\|雅\_s*典\|校\_s*倉\|小\_s*豆\|四\_s*阿\|鴉\_s*\%(片\|鷺\_s*合\_s*戦\_s*物\_s*語\)\|渾\_s*名\|綽\_s*名\|化\_s*野\|翌\_s*檜\|飛\_s*[魚鳥]\|総\_s*角\|木\_s*通\|通\_s*草\|L\_s*a\_s*r\_s*d\_s*i\_s*z\_s*a\_s*b\_s*a\_s*l\_s*a\_s*c\_s*e\_s*a\_s*e\|花\_s*鶏\|我\_s*\%(妻\|孫\_s*子\)\|数\_s*多\|奄\_s*美\|灰\_s*汁\|胡\_s*[床坐座葱]\|日\_s*明\|碩\_s*宏\|祥\_s*[仁彦]\|蜻\_s*蛉\|E\_s*\%(s\|i\_s*n\_s*s\_s*t\_s*e\_s*i\_s*n\_s*i\_s*u\_s*m\)\|生\_s*憎\|匕\_s*首\|英\_s*\%([保田]\|虞\_s*湾\|賀\_s*保\)\|靄\_s*[靄々]\|I\_s*\%(r\_s*i\_s*d\_s*a\_s*l\_s*e\_s*s\|P\_s*\%(電\_s*話\|ア\_s*ド\_s*レ\_s*ス\)\|D\_s*カ\_s*ー\_s*ド\|C\_s*\%(タ\_s*グ\|カ\_s*ー\_s*ド\)\)\|I\_s*\%(P\_s*電\_s*話\|C\_s*\%(タ\_s*グ\|カ\_s*ー\_s*ド\)\)\|走\_s*目\|鹹\_s*草\|馬\_s*酔\_s*木\|海\_s*[豹人女士部驢]\|R\_s*u\_s*b\_s*i\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|褐\_s*毛\_s*和\_s*種\|石\_s*蓴\|白\_s*馬\|水\_s*[黽馬綿]\|M\_s*a\_s*l\_s*v\_s*a\_s*l\_s*e\_s*s\|ト\_s*リ\_s*プ\_s*ル\_s*A\|公\_s*理\| \_s*ア\_s*ク\_s*シ\_s*ア\_s*ム\|ヒ\_s*素\|砒\_s*素\|京\_s*都\_s*高\_s*度\_s*技\_s*術\_s*研\_s*究\_s*所\|代\_s*入\|遺\_s*産\|抽\_s*象\|G\_s*o\_s*l\_s*d\|自\_s*動\_s*\%(現\_s*金\_s*取\_s*り\_s*扱\_s*い\_s*機\|預\_s*貯\_s*金\_s*機\)\|属\_s*性\|何\_s*か\|か\_s*つ\|お\_s*よ\_s*び\|セ\_s*ン\_s*ト\_s*キ\_s*ッ\_s*ツ\_s*ネ\|S\_s*\%(b\|i\_s*l\_s*v\_s*e\_s*r\)\|使\_s*用\_s*可\_s*能\|利\_s*用\_s*可\_s*能\|算\_s*法\|割\_s*り\_s*当\_s*て\|オ\_s*\%(レ\|ギ\_s*ュ\_s*ス\_s*タ\_s*ン\|ド\_s*レ\_s*イ\|ン\_s*グ\_s*ス\_s*ト\_s*ロ\_s*ー\_s*ム\|ル\_s*\%(ト\_s*キ\_s*ー\|タ\_s*\%([ーナ]\|ネ\_s*\%(ー\_s*ト\|イ\_s*ト\)\)\)\|ー\_s*\%([クガサトラル]\|ニ\_s*ン\_s*グ\|キ\_s*シ\_s*ン\|ブ\_s*リ\_s*ー\|バ\_s*ー\_s*ド\|ベ\_s*ル\_s*ジ\_s*ュ\|ギ\_s*ュ\_s*ス\_s*\%(ト\|タ\_s*ン\)\|ゾ\_s*ン\_s*ヌ\|ス\_s*\%(チ\_s*ン\|テ\_s*ィ\_s*ン\|タ\_s*ー\|ト\_s*\%(リ\_s*ア\|ラ\_s*リ\_s*ア\)\)\|ド\_s*リ\_s*ー\|ジ\_s*\%([ェー]\|オ\_s*ロ\_s*ジ\)\|デ\_s*ィ\_s*\%(オ\|エ\_s*ン\_s*ス\|シ\_s*ョ\_s*ン\|ト\_s*リ\_s*ア\_s*ム\)\|タ\_s*ム\|ソ\_s*\%(リ\_s*テ\_s*ィ\|ラ\_s*イ\_s*ズ\)\|セ\_s*ン\_s*テ\_s*ィ\_s*ッ\_s*ク\|ロ\_s*ラ\)\)\|配\_s*列\|バ\_s*イ\_s*ト\|ハ\_s*ル\_s*マ\_s*ゲ\_s*ド\_s*ン\|引\_s*数\|人\_s*工\_s*\%(現\_s*実\_s*感\|知\_s*能\)\|イ\_s*\%(ー\_s*ジ\_s*ス\|オ\_s*ン\|ソ\_s*ッ\_s*プ\)\|マ\_s*ル\_s*ド\_s*ゥ\_s*ー\_s*ク\|紫\_s*\%(陽\_s*花\|水\_s*晶\|石\_s*英\)\|A\_s*\%([tlrImc]\|n\_s*t\_s*i\_s*m\_s*o\_s*n\_s*y\|u\_s*s\_s*t\_s*r\_s*o\_s*b\_s*a\_s*i\_s*l\_s*e\_s*y\_s*a\_s*c\_s*e\_s*a\_s*e\|K\_s*C\_s*L\|S\_s*C\_s*I\_s*I\|s\_s*t\_s*a\_s*t\_s*i\_s*n\_s*e\|タ\_s*イ\_s*プ\|T\_s*O\_s*K\|N\_s*S\_s*I\|V\_s*シ\_s*ス\_s*テ\_s*ム\|L\_s*T\_s*キ\_s*ー\|ラ\_s*ン\_s*ク\|E\_s*R\_s*A\|D\_s*S\_s*L\_s*モ\_s*デ\_s*ム\|ド\_s*ラ\_s*イ\_s*ブ\|d\_s*a\|M\_s*ラ\_s*ジ\_s*オ\|b\_s*s\_s*t\_s*r\_s*a\_s*c\_s*t\_s* \_s*C\_s*o\_s*n\_s*t\_s*r\_s*o\_s*l\_s* \_s*M\_s*o\_s*d\_s*e\_s*l\|カ\_s*ッ\_s*プ\|ク\_s*ラ\_s*ス\|C\_s*ア\_s*ダ\_s*プ\_s*タ\)\|付\_s*録\|A\_s*\%([4型面]\|x\_s*o\_s*n\|B\_s*\%(型\|r\_s*o\_s*a\_s*d\)\|タ\_s*イ\_s*プ\|T\_s*&\_s*T\|t\_s*\%(o\_s*k\|h\_s*e\_s*n\_s*a\)\|ラ\_s*ン\_s*ク\|I\_s*エ\_s*キ\_s*ス\_s*パ\_s*ー\_s*ト\|/\_s*D\_s*コ\_s*ン\_s*バ\_s*ー\_s*タ\|ド\_s*ラ\_s*イ\_s*ブ\|d\_s*o\_s*b\_s*e\|カ\_s*ッ\_s*プ\|ク\_s*ラ\_s*ス\|p\_s*p\_s*l\_s*e\)\|応\_s*用\|エ\_s*\%([ニメアイー]\|ッ\_s*チ\|ン\_s*\%(ド\_s*ラ\_s*ン\|ジ\_s*ェ\_s*\%(ル\|リ\_s*ッ\_s*ク\)\|ゼ\_s*ル\)\|リ\_s*ア\|オ\_s*リ\_s*ア\|ス\_s*テ\|プ\_s*ロ\_s*ン\)\)',
\ 'b' : '\%([鯔鰡堀本凡盆煩梵骨凹歿鈕釦沒渤没穆睦濮樸目攴攵朴木僕墨卜牧星抱肪鵬冐氓鋩旄瑁袤儚蟒鉾貌旁网茆牟蒡甍胞謗蠎虻髦黽卯懋榜眸罔乏惘妨帽昴忙剖冒忘茅膀妄尨厖膨貿防紡滂茫望亡傍某謀暈拇保墓暮菩簿誉掘募姥謨模母干彫呆慕坊姆牡乾褒惚戊ぼ冖覓幎汨巾羃冪紅鼈瞥韈蔑塀抃遍辧瓣卞汳宀湎采辯辨辮眄冕勉娩弁邉可辺邊べ船房笛淵縁渊渕斑鞭樗椈太袋深蓋葢盖豚節勿佛物震勃蚋風鰤馼蚊聞文誣無蒲撃打不錻武振分蕪奉吹侮葺毋舞悔憮部廡嘸葡撲撫拭伏歩ぶ米謐人匹浸額鐚跛!広開繆別謬泯旻梹罎岷緡紊檳頻壜愍瓶鬢閔憫敏貧便帛辟百闢白杪″緲憑票猫鋲屏渺眇平錨苗秒描廟病尾火日媚靡糒枇贔未引琵瀰嵋備縻糜弾美眉弭濔比寐毘麋微び早速林尿針腹拂散払祓原塙蠻旛旙鑁鷭幡悗挽判棒絆版輓蕃板播礬阪坂磐番盤晩萬蛮万箱蠅芒挟伴蜂桴枹鉢撥働畠畑糞屎鼻花端離話V魅許秤筏罸魃拔閥橋走箸柱寞藐貘獏暴漠瀑麥縛博駁莫驀爆楳憊狽霾唄吠杯賣苺培煤黴貝焙賠買売陪倍梅媒跋伐末幕曝抜罰庭馬葉婆罵這化馳羽塲晴歯場芭刄刃張貼ばb“仏□■⊥下底×|‖−\∵麦ボバ][{}ブビБΒбβベb]\|ッ\_s*\%(ホ\_s*゙\|ヘ\_s*゙\|フ\_s*゙\|ヒ\_s*゙\|ハ\_s*゙\)\|ッ\_s*[ボベブビバ]\|っ\_s*[ぼべぶびば]\|ホ\_s*゙\|小\_s*火\|襤\_s*褸\|孟\_s*買\|P\_s*a\_s*e\_s*o\_s*n\_s*i\_s*a\_s*\%(l\_s*e\_s*s\|c\_s*e\_s*a\_s*e\)\|南\_s*瓜\|耄\_s*耋\|孑\_s*孑\|包\_s*丁\|ヘ\_s*゙\|袂\_s*別\|箆\_s*棒\|篦\_s*棒\|胼\_s*胝\|フ\_s*゙\|補\_s*任\|毒\_s*島\|醜\_s*[女男]\|山\_s*毛\_s*欅\|F\_s*a\_s*g\_s*a\_s*l\_s*e\_s*s\|布\_s*団\|茯\_s*苓\|V\_s*\%(字\|ネ\_s*ッ\_s*ク\|シ\_s*ネ\_s*マ\)\|附\_s*子\|付\_s*子\|鞦\_s*韆\|豊\_s*[前後]\|ヒ\_s*゙\|魚\_s*[籠篭]\|彌\_s*縫\|弥\_s*[漫縫]\|吃\_s*驚\|天\_s*鵞\_s*絨\|緬\_s*甸\|賓\_s*頭\_s*盧\|編\_s*木\|柏\_s*槙\|S\_s*a\_s*n\_s*t\_s*a\_s*l\_s*a\_s*l\_s*e\_s*s\|兵\_s*[衛法]\|表\_s*紙\|拍\_s*[板子]\|ハ\_s*゙\|囃\_s*子\|巴\_s*爾\_s*幹\|R\_s*o\_s*s\_s*a\_s*l\_s*e\_s*s\|薔\_s*薇\|蟠\_s*踞\|鈑\_s*金\|A\_s*n\_s*n\_s*o\_s*n\_s*a\_s*c\_s*e\_s*a\_s*e\|発\_s*条\|祖\_s*母\_s*さ\_s*ん\|梯\_s*子\|伯\_s*\%([林楽労]\|剌\_s*西\_s*爾\)\|莪\_s*原\|蝗\_s*虫\|飛\_s*[車蝗]\|掲\_s*示\_s*板\|プ\_s*ル\_s*コ\_s*ギ\|作\_s*業\_s*域\|オ\_s*ー\_s*ト\_s*バ\_s*イ\|基\_s*[礎底]\|フ\_s*ァ\_s*ゴ\_s*ッ\_s*ト\|背\_s*景\|北\_s*京\|ペ\_s*\%(キ\_s*ン\|テ\_s*ル\_s*ギ\_s*ウ\_s*ス\)\|臭\_s*素\|イ\_s*ギ\_s*リ\_s*ス\|B\_s*\%([面判級型y]\|細\_s*胞\|タ\_s*イ\_s*プ\|ド\_s*ラ\_s*イ\_s*ブ\|カ\_s*ッ\_s*プ\|ク\_s*ラ\_s*ス\|−\_s*ス\_s*プ\_s*ラ\_s*イ\_s*ン\|l\_s*u\_s*e\_s*N\_s*o\_s*t\_s*e\|u\_s*s\_s* \_s*E\_s*r\_s*r\_s*o\_s*r\|a\_s*c\_s*h\|e\_s*l\_s*l\_s*研\|ラ\_s*ン\_s*ク\)\|ホ\_s*ウ\_s*素\|B\_s*\%([h面判級型kiae]\|C\_s*兵\_s*器\|N\_s*F\_s*(\_s*B\_s*a\_s*c\_s*k\_s*u\_s*s\_s*-\_s*N\_s*a\_s*u\_s*r\_s* \_s*F\_s*o\_s*r\_s*m\_s*)\|B\_s*C\|タ\_s*イ\_s*プ\|u\_s*r\_s*k\_s*i\_s*n\_s*a\_s* \_s*F\_s*a\_s*s\_s*o\|フ\_s*レ\_s*ッ\_s*ツ\|ド\_s*ラ\_s*イ\_s*ブ\|カ\_s*ッ\_s*プ\|ク\_s*ラ\_s*ス\|M\_s*P\_s*フ\_s*ァ\_s*イ\_s*ル\|ス\_s*プ\_s*ラ\_s*イ\_s*ン\|S\_s*\%(D\|キ\_s*ー\|チ\_s*ュ\_s*ー\_s*ナ\|ア\_s*ン\_s*テ\_s*ナ\|デ\_s*ジ\_s*タ\_s*ル\)\|O\_s*X\_s*セ\_s*ッ\_s*ト\|I\_s*T\_s*N\_s*E\_s*T\|r\_s*o\_s*m\_s*i\_s*n\_s*e\|ラ\_s*ン\_s*ク\|o\_s*\%(h\_s*r\_s*i\_s*u\_s*m\|v\_s*i\_s*n\_s*e\_s* \_s*S\_s*p\_s*o\_s*n\_s*g\_s*i\_s*f\_s*o\_s*r\_s*m\_s* \_s*E\_s*n\_s*c\_s*e\_s*p\_s*h\_s*a\_s*l\_s*o\_s*p\_s*a\_s*t\_s*h\_s*y\|o\_s*k\|r\_s*o\_s*n\)\)\|硼\_s*素\)',
diff --git a/conformance/README.txt b/conformance/README.txt
index d341c3d..10dae76 100644
--- a/conformance/README.txt
+++ b/conformance/README.txt
@@ -1,4 +1,4 @@
-CLEVER-F CONFORMANCE ASSETS
+CLEVER-TEE CONFORMANCE ASSETS
PURPOSE
diff --git a/conformance/fixtures/reference-examples.json b/conformance/fixtures/reference-examples.json
index d7a73de..d23c8ab 100644
--- a/conformance/fixtures/reference-examples.json
+++ b/conformance/fixtures/reference-examples.json
@@ -676,7 +676,7 @@
{
"after_step": 0,
"operation": "create",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-1",
"window": "window-1",
"anchor_line": 1,
@@ -860,7 +860,7 @@
{
"after_step": 0,
"operation": "preserve",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-1",
"window": "window-1",
"anchor_line": 1
@@ -4519,7 +4519,7 @@
{
"after_step": 0,
"operation": "create",
- "group": "CleverFDirect",
+ "group": "CleverTeeDirect",
"identity": "direct-set-1",
"window": "window-1",
"positions": [
@@ -4577,7 +4577,7 @@
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFDirect",
+ "group": "CleverTeeDirect",
"identity": "direct-set-1",
"window": "window-1"
}
@@ -4714,7 +4714,7 @@
{
"after_step": 0,
"operation": "create",
- "group": "CleverFDirect",
+ "group": "CleverTeeDirect",
"identity": "direct-set-1",
"window": "window-1",
"positions": [
@@ -4744,7 +4744,7 @@
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFDirect",
+ "group": "CleverTeeDirect",
"identity": "direct-set-1",
"window": "window-1"
}
@@ -4925,7 +4925,7 @@
{
"after_step": 0,
"operation": "create",
- "group": "CleverFDirect",
+ "group": "CleverTeeDirect",
"identity": "direct-forward",
"window": "window-1",
"positions": [
@@ -4947,14 +4947,14 @@
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFDirect",
+ "group": "CleverTeeDirect",
"identity": "direct-forward",
"window": "window-1"
},
{
"after_step": 3,
"operation": "create",
- "group": "CleverFDirect",
+ "group": "CleverTeeDirect",
"identity": "direct-backward",
"window": "window-1",
"positions": [
@@ -4976,7 +4976,7 @@
{
"after_step": 3,
"operation": "remove",
- "group": "CleverFDirect",
+ "group": "CleverTeeDirect",
"identity": "direct-backward",
"window": "window-1"
}
@@ -5447,7 +5447,7 @@
{
"after_step": 0,
"operation": "create",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-1",
"window": "window-1",
"anchor_line": 1,
@@ -5458,7 +5458,7 @@
{
"after_step": 0,
"operation": "preserve",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-1",
"window": "window-1",
"anchor_line": 1
@@ -5466,7 +5466,7 @@
{
"after_step": 1,
"operation": "rebuild",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-2",
"window": "window-1",
"anchor_line": 2,
@@ -5477,7 +5477,7 @@
{
"after_step": 2,
"operation": "preserve",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-2",
"window": "window-1",
"anchor_line": 2
@@ -5683,7 +5683,7 @@
{
"after_step": 0,
"operation": "create",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-1",
"window": "window-1",
"anchor_line": 1,
@@ -5692,14 +5692,14 @@
{
"after_step": 1,
"operation": "remove",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-1",
"window": "window-1"
},
{
"after_step": 2,
"operation": "create",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-2",
"window": "window-1",
"anchor_line": 1,
diff --git a/conformance/fixtures/transition-fixtures.json b/conformance/fixtures/transition-fixtures.json
index 3508234..cb495b9 100644
--- a/conformance/fixtures/transition-fixtures.json
+++ b/conformance/fixtures/transition-fixtures.json
@@ -136,7 +136,7 @@
{
"after_step": 0,
"operation": "create",
- "group": "CleverFCursor",
+ "group": "CleverTeeCursor",
"identity": "cursor-1",
"window": "window-1",
"positions": [
@@ -150,7 +150,7 @@
{
"after_step": 0,
"operation": "create",
- "group": "CleverFDirect",
+ "group": "CleverTeeDirect",
"identity": "direct-1",
"window": "window-1",
"positions": [
@@ -168,21 +168,21 @@
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFCursor",
+ "group": "CleverTeeCursor",
"identity": "cursor-1",
"window": "window-1"
},
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFDirect",
+ "group": "CleverTeeDirect",
"identity": "direct-1",
"window": "window-1"
}
],
"timer_operations": [],
"prompts": [
- "clever-f: "
+ "clever-tee: "
],
"redraws": [
{
@@ -363,7 +363,7 @@
{
"after_step": 0,
"operation": "create",
- "group": "CleverFCursor",
+ "group": "CleverTeeCursor",
"identity": "cursor-1",
"window": "window-1",
"positions": [
@@ -377,7 +377,7 @@
{
"after_step": 0,
"operation": "create",
- "group": "CleverFDirect",
+ "group": "CleverTeeDirect",
"identity": "direct-1",
"window": "window-1",
"positions": [
@@ -395,21 +395,21 @@
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFCursor",
+ "group": "CleverTeeCursor",
"identity": "cursor-1",
"window": "window-1"
},
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFDirect",
+ "group": "CleverTeeDirect",
"identity": "direct-1",
"window": "window-1"
}
],
"timer_operations": [],
"prompts": [
- "clever-f: "
+ "clever-tee: "
],
"redraws": [
{
@@ -572,7 +572,7 @@
{
"after_step": 0,
"operation": "create",
- "group": "CleverFCursor",
+ "group": "CleverTeeCursor",
"identity": "cursor-1",
"window": "window-1",
"positions": [
@@ -586,7 +586,7 @@
{
"after_step": 0,
"operation": "create",
- "group": "CleverFDirect",
+ "group": "CleverTeeDirect",
"identity": "direct-1",
"window": "window-1",
"positions": [
@@ -604,21 +604,21 @@
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFCursor",
+ "group": "CleverTeeCursor",
"identity": "cursor-1",
"window": "window-1"
},
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFDirect",
+ "group": "CleverTeeDirect",
"identity": "direct-1",
"window": "window-1"
}
],
"timer_operations": [],
"prompts": [
- "clever-f: "
+ "clever-tee: "
],
"redraws": [
{
@@ -799,7 +799,7 @@
{
"after_step": 0,
"operation": "create",
- "group": "CleverFCursor",
+ "group": "CleverTeeCursor",
"identity": "cursor-1",
"window": "window-1",
"positions": [
@@ -813,7 +813,7 @@
{
"after_step": 0,
"operation": "create",
- "group": "CleverFDirect",
+ "group": "CleverTeeDirect",
"identity": "direct-1",
"window": "window-1",
"positions": [
@@ -831,7 +831,7 @@
{
"after_step": 0,
"operation": "create",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-1",
"window": "window-1",
"anchor_line": 1,
@@ -842,21 +842,21 @@
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFCursor",
+ "group": "CleverTeeCursor",
"identity": "cursor-1",
"window": "window-1"
},
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFDirect",
+ "group": "CleverTeeDirect",
"identity": "direct-1",
"window": "window-1"
}
],
"timer_operations": [],
"prompts": [
- "clever-f: "
+ "clever-tee: "
],
"redraws": [
{
@@ -1030,7 +1030,7 @@
{
"after_step": 0,
"operation": "create",
- "group": "CleverFCursor",
+ "group": "CleverTeeCursor",
"identity": "cursor-1",
"window": "window-1",
"positions": [
@@ -1044,7 +1044,7 @@
{
"after_step": 0,
"operation": "create",
- "group": "CleverFDirect",
+ "group": "CleverTeeDirect",
"identity": "direct-1",
"window": "window-1",
"positions": [
@@ -1062,21 +1062,21 @@
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFCursor",
+ "group": "CleverTeeCursor",
"identity": "cursor-1",
"window": "window-1"
},
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFDirect",
+ "group": "CleverTeeDirect",
"identity": "direct-1",
"window": "window-1"
}
],
"timer_operations": [],
"prompts": [
- "clever-f: "
+ "clever-tee: "
],
"redraws": [
{
@@ -1092,7 +1092,7 @@
{
"after_step": 0,
"level": "error",
- "text": "clever-f: Encoding 'latin1' is not supported. Migemo is disabled"
+ "text": "clever-tee: Encoding 'latin1' is not supported. Migemo is disabled"
}
],
"host_operations": [
@@ -1586,7 +1586,7 @@
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-1",
"window": "window-1"
}
@@ -1794,7 +1794,7 @@
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-1",
"window": "window-1"
}
@@ -2006,7 +2006,7 @@
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-1",
"window": "window-1"
}
@@ -2442,21 +2442,21 @@
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-1",
"window": "window-1"
},
{
"after_step": 2,
"operation": "remove",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-2",
"window": "window-1"
},
{
"after_step": 4,
"operation": "remove",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-3",
"window": "window-1"
}
@@ -2659,7 +2659,7 @@
{
"after_step": 0,
"operation": "preserve",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-1",
"window": "window-1",
"anchor_line": 1
@@ -2667,7 +2667,7 @@
{
"after_step": 2,
"operation": "remove",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-1",
"window": "window-1"
}
@@ -2983,7 +2983,7 @@
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-1",
"window": "window-1"
}
@@ -3186,7 +3186,7 @@
{
"after_step": 0,
"operation": "remove",
- "group": "CleverFChar",
+ "group": "CleverTeeChar",
"identity": "char-1",
"window": "window-1"
}
diff --git a/conformance/requirements.tsv b/conformance/requirements.tsv
index b1a0a8b..0a738c9 100644
--- a/conformance/requirements.tsv
+++ b/conformance/requirements.tsv
@@ -60,7 +60,7 @@ CF-0504-001 REQUIRED 5.4 Treat fix_key_direction as Boolean with default false.
CF-0504-002 REQUIRED 5.4 A false fix_key_direction gives lower-case primary keys same-direction and upper-case keys opposite-direction semantics. S0.5.4 RepeatResolver Cover the relative direction matrix. SCN-1501-SHARED-KEYS
CF-0504-003 REQUIRED 5.4 A true fix_key_direction makes lower-case primary keys forward and upper-case keys backward. S0.5.4 RepeatResolver Cover the fixed direction matrix for stored forward and backward descriptors. -
CF-0505-001 REQUIRED 5.5 Treat show_prompt as Boolean with default false. S0.3.3 PolicyService Validate Boolean values and inspect the default. -
-CF-0505-002 REQUIRED 5.5 When show_prompt is true, display exactly clever-f: followed by one space while waiting for input. S0.6.2 AcquisitionService Acquire interactively and compare the prompt byte for byte. SCN-0702-TEMP-SUCCESS
+CF-0505-002 REQUIRED 5.5 When show_prompt is true, display exactly clever-tee: followed by one space while waiting for input. S0.6.2 AcquisitionService Acquire interactively and compare the prompt byte for byte. SCN-0702-TEMP-SUCCESS
CF-0506-001 REQUIRED 5.6 Treat chars_match_any_signs as a string with default empty string. S0.3.1 PolicyService Validate string values and inspect the default. -
CF-0506-002 REQUIRED 5.6 Every character in chars_match_any_signs triggers the complete section 9.3 symbol set. S0.7.3 TargetPlanFactory Configure multiple triggers and compare each resulting symbol predicate. SCN-1507-SYMBOLS
CF-0507-001 REQUIRED 5.7 Treat mark_cursor as Boolean with default true. S0.3.3 PolicyService Validate Boolean values and inspect the default. -
@@ -75,7 +75,7 @@ CF-0508-002 REQUIRED 5.8 A zero repeat timeout disables repeat expiration. S0.5.
CF-0508-003 REQUIRED 5.8 A positive repeat timeout applies section 11.1 transitions. S0.5.3 RepeatResolver Exercise below, equal, and above-threshold elapsed values. SCN-1101-TIMEOUT-BOUNDARY,SCN-1101-TIMEOUT-EXPIRED
CF-0509-001 REQUIRED 5.9 Treat mark_char as Boolean with default true. S0.3.4 PolicyService Validate Boolean values and inspect the default. -
CF-0509-002 REQUIRED 5.9 When mark_char is true, enable current-line destination-candidate highlighting. S0.10.4 FeedbackService Acquire a target in an eligible context and inspect candidate overlay positions. SCN-1510-OVERLAY-LIFECYCLE
-CF-0509-003 REQUIRED 5.9 Treat mark_char_color as an optional highlight-group name with default target CleverFDefaultLabel. S0.3.4 PolicyService Validate null and string values and resolve the default link. -
+CF-0509-003 REQUIRED 5.9 Treat mark_char_color as an optional highlight-group name with default target CleverTeeDefaultLabel. S0.3.4 PolicyService Validate null and string values and resolve the default link. -
CF-0509-004 REQUIRED 5.9 Sample mark_char_color according to setup-sensitive highlight-link rules. S0.3.5 PolicyService Change the value after initialization and before ColorScheme refresh. -
CF-0509-005 REQUIRED 5.9 Treat highlight_timeout_ms as a nonnegative integer with default zero. S0.3.4 PolicyService Validate boundaries, reject negative values, and inspect the default. -
CF-0509-006 REQUIRED 5.9 A zero highlight timeout retains the target overlay until a lifecycle event. S0.10.7 FeedbackService Advance time without events and assert that no timer starts. -
@@ -86,7 +86,7 @@ CF-0510-003 REQUIRED 5.10 A matching previous-input trigger reuses the most rece
CF-0511-001 REQUIRED 5.11 Treat mark_direct as Boolean with default false. S0.3.3 PolicyService Validate Boolean values and inspect the default. -
CF-0511-002 REQUIRED 5.11 When mark_direct is true, preview count-selected occurrences for possible current-line targets while input is pending. S0.10.3 DirectPreviewPlanner Generate previews for counts one and two before completing input. SCN-1508-DIRECT-ONE,SCN-1508-DIRECT-TWO
CF-0511-003 REQUIRED 5.11 Treat mark_direct enablement as setup-sensitive for highlight linking. S0.3.5 PolicyService Initialize disabled, enable live, and inspect links before and after ColorScheme. -
-CF-0511-004 REQUIRED 5.11 Treat mark_direct_color as an optional highlight-group name with default target CleverFDefaultLabel. S0.3.3 PolicyService Validate null and string values and resolve the default link. -
+CF-0511-004 REQUIRED 5.11 Treat mark_direct_color as an optional highlight-group name with default target CleverTeeDefaultLabel. S0.3.3 PolicyService Validate null and string values and resolve the default link. -
CF-0511-005 REQUIRED 5.11 Sample mark_direct_color according to setup-sensitive highlight-link rules. S0.3.5 PolicyService Change the value after initialization and before ColorScheme refresh. -
CF-0512-001 REQUIRED 5.12 Treat clean_labels_eagerly as Boolean with default true. S0.3.5 PolicyService Validate Boolean values and inspect the default. -
CF-0512-002 REQUIRED 5.12 Sample clean_labels_eagerly during initialization. S0.3.5 PolicyService Change the live setting after initialization and inspect installed hooks. SCN-1207-EAGER-WINDOWS
@@ -118,7 +118,7 @@ CF-0701-001 REQUIRED 7.1 Inspect fold-open policy before evaluating the repetiti
CF-0701-002 REQUIRED 7.1 For all-motion or horizontal-motion policy, open every enclosing closed fold level at the cursor line. S0.5.1 RepeatResolver Start in nested folds for each eligible policy and count open operations. SCN-1511-FOLDS
CF-0701-003 REQUIRED 7.1 Make the cursor line visible before target input. S0.5.1 RepeatResolver Inspect fold visibility at the input capability call. SCN-1511-FOLDS
CF-0702-001 REQUIRED 7.2 At interactive acquisition start, request same repeated direction. S0.6.2 AcquisitionService Inspect acquisition sequencing before feedback creation. SCN-0702-TEMP-SUCCESS
-CF-0702-002 REQUIRED 7.2 When mark_cursor is true, create a temporary CleverFCursor overlay at the cursor and redraw before input. S0.6.2 AcquisitionService Record overlay, redraw, and input call order. SCN-0702-TEMP-SUCCESS
+CF-0702-002 REQUIRED 7.2 When mark_cursor is true, create a temporary CleverTeeCursor overlay at the cursor and redraw before input. S0.6.2 AcquisitionService Record overlay, redraw, and input call order. SCN-0702-TEMP-SUCCESS
CF-0702-003 REQUIRED 7.2 When mark_direct is true, create nominal-direction count previews and redraw before input. S0.6.2 AcquisitionService Record direct plans, redraw, and input call order. SCN-1508-DIRECT-ONE
CF-0702-004 REQUIRED 7.2 When show_prompt is true, emit the exact prompt before input. S0.6.2 AcquisitionService Record prompt and input call order and exact text. SCN-0702-TEMP-SUCCESS
CF-0702-005 REQUIRED 7.2 Store initiating descriptor and set context first_move true before reading input. S0.6.3 StateTransitions Inspect state from inside the input capability. SCN-0702-TEMP-SUCCESS
@@ -233,17 +233,17 @@ CF-1105-002 REQUIRED 11.5 Store effective descriptor and resolved target in the
CF-1105-003 REQUIRED 11.5 Dot replay asks for no new target input. S0.9.4 MotionExecutor Replay with an input trap. SCN-1105-DOT-REPEAT
CF-1105-004 REQUIRED 11.5 Successive dot operations find successive occurrences and preserve FIND or TILL endpoints. S0.9.4 MotionExecutor Run successive dot operations for both families. SCN-1105-DOT-REPEAT
CF-1105-005 REQUIRED 11.5 Repeated dfe produces the four specified buffer states in order. S0.9.4 MotionExecutor Run the exact four-stage deletion sequence. SCN-1105-DOT-REPEAT
-CF-1201-001 REQUIRED 12.1 Define or honor CleverFDefaultLabel, CleverFCursor, CleverFChar, and CleverFDirect highlight groups. S0.10.1 FeedbackService Inspect highlight definitions after activation and ColorScheme. -
-CF-1201-002 REQUIRED 12.1 Use red foreground, default background, bold, and underline as CleverFDefaultLabel fallback. S0.10.1 FeedbackService Inspect all fallback attributes. -
+CF-1201-001 REQUIRED 12.1 Define or honor CleverTeeDefaultLabel, CleverTeeCursor, CleverTeeChar, and CleverTeeDirect highlight groups. S0.10.1 FeedbackService Inspect highlight definitions after activation and ColorScheme. -
+CF-1201-002 REQUIRED 12.1 Use red foreground, default background, bold, and underline as CleverTeeDefaultLabel fallback. S0.10.1 FeedbackService Inspect all fallback attributes. -
CF-1201-003 REQUIRED 12.1 Apply fallback attributes to terminal-color and GUI-color rendering. S0.10.1 FeedbackService Inspect cterm and GUI definitions. -
CF-1202-001 REQUIRED 12.2 Resolve highlight links by explicit color, existing colorscheme group, then fallback link precedence. S0.10.1 FeedbackService Create all combinations and inspect selected links. -
-CF-1202-002 REQUIRED 12.2 Force a CleverF group link when an explicit color name exists. S0.10.1 FeedbackService Predefine a conflicting group and apply explicit configuration. -
-CF-1202-003 REQUIRED 12.2 Without explicit color, preserve an existing colorscheme CleverF group. S0.10.1 FeedbackService Predefine each group and evaluate links. -
-CF-1202-004 REQUIRED 12.2 Without explicit or existing groups, link Cursor to Cursor and Char and Direct to CleverFDefaultLabel. S0.10.1 FeedbackService Evaluate links in an empty highlight registry. -
-CF-1202-005 REQUIRED 12.2 Create a CleverF feature link only when that feature is enabled at evaluation. S0.10.1 FeedbackService Evaluate each enabled and disabled feature combination. -
+CF-1202-002 REQUIRED 12.2 Force a CleverTee group link when an explicit color name exists. S0.10.1 FeedbackService Predefine a conflicting group and apply explicit configuration. -
+CF-1202-003 REQUIRED 12.2 Without explicit color, preserve an existing colorscheme CleverTee group. S0.10.1 FeedbackService Predefine each group and evaluate links. -
+CF-1202-004 REQUIRED 12.2 Without explicit or existing groups, link Cursor to Cursor and Char and Direct to CleverTeeDefaultLabel. S0.10.1 FeedbackService Evaluate links in an empty highlight registry. -
+CF-1202-005 REQUIRED 12.2 Create a CleverTee feature link only when that feature is enabled at evaluation. S0.10.1 FeedbackService Evaluate each enabled and disabled feature combination. -
CF-1202-006 REQUIRED 12.2 Re-evaluate default label and links after every colorscheme change. S0.10.1 FeedbackService Deliver ColorScheme after replacing group definitions. -
CF-1202-007 RECOMMENDED 12.2 Make explicit color configuration available before initial link evaluation. S0.11.1 CompositionRoot Configure explicit colors before activation and inspect first definitions. -
-CF-1203-001 REQUIRED 12.3 During fresh acquisition, mark_cursor creates one high-priority CleverFCursor overlay at the cursor. S0.10.2 FeedbackService Pause acquisition and inspect count, group, position, and priority. SCN-0702-TEMP-SUCCESS
+CF-1203-001 REQUIRED 12.3 During fresh acquisition, mark_cursor creates one high-priority CleverTeeCursor overlay at the cursor. S0.10.2 FeedbackService Pause acquisition and inspect count, group, position, and priority. SCN-0702-TEMP-SUCCESS
CF-1203-002 REQUIRED 12.3 Redraw before waiting for target input. S0.10.2 FeedbackService Record redraw and input call order. SCN-0702-TEMP-SUCCESS
CF-1203-003 REQUIRED 12.3 Remove the cursor marker immediately after input handling, including cancellation, missing target, and errors. S0.10.2 FeedbackService Exercise every listed exit and inspect cleanup order. SCN-0702-TEMP-SUCCESS,SCN-0702-TEMP-CANCEL,SCN-0702-TEMP-UNMATCHED,SCN-0702-TEMP-SEARCH-ERROR
CF-1204-001 REQUIRED 12.4 Direct preview scans only the current line and strict nominal side selected by descriptor case. S0.10.3 DirectPreviewPlanner Plan all four descriptors from a middle cursor and inspect candidate region. SCN-1508-DIRECT-ONE
@@ -253,18 +253,18 @@ CF-1204-004 REQUIRED 12.4 Default-case direct preview counts each exact characte
CF-1204-005 REQUIRED 12.4 ignore_case direct preview lowercases with editor conversion and counts each fold class. S0.10.3 DirectPreviewPlanner Scan mixed-case and multibyte case pairs under ignore_case. -
CF-1204-006 REQUIRED 12.4 Smart-case preview increments exact counters and also lower-case counters for ASCII uppercase characters. S0.10.3 DirectPreviewPlanner Trace counters over mixed ASCII case text. -
CF-1204-007 REQUIRED 12.4 Smart-case preview marks the union selected by exact or lower-case counter reaching count. S0.10.3 DirectPreviewPlanner Compare planner output with all possible smart-case target searches. -
-CF-1204-008 REQUIRED 12.4 Create one ordinary-priority CleverFDirect position overlay for each selected position. S0.10.3 FeedbackService Inspect overlay count, group, positions, and priority. SCN-1508-DIRECT-ONE,SCN-1508-DIRECT-TWO
+CF-1204-008 REQUIRED 12.4 Create one ordinary-priority CleverTeeDirect position overlay for each selected position. S0.10.3 FeedbackService Inspect overlay count, group, positions, and priority. SCN-1508-DIRECT-ONE,SCN-1508-DIRECT-TWO
CF-1204-009 REQUIRED 12.4 TILL direct preview marks the target occurrence rather than its adjacent endpoint. S0.10.3 DirectPreviewPlanner Plan TILL beside targets and compare later motion endpoint. -
CF-1204-010 REQUIRED 12.4 Direct preview ignores Migemo and symbol equivalence when grouping counters. S0.10.3 DirectPreviewPlanner Enable Migemo and symbols and compare with exact and case-only plans. -
CF-1204-011 REQUIRED 12.4 Remove every direct marker immediately after target input on normal, Escape, and error paths. S0.10.3 FeedbackService Exercise all exits and inspect temporary resources. SCN-0702-TEMP-SUCCESS,SCN-0702-TEMP-CANCEL,SCN-0702-TEMP-INPUT-ERROR
-CF-1205-001 REQUIRED 12.5 When mark_char is active in an eligible acquisition context, create one high-priority CleverFChar multi-match overlay. S0.10.4 FeedbackService Acquire in each context and inspect overlay count and priority. SCN-1510-OVERLAY-LIFECYCLE
+CF-1205-001 REQUIRED 12.5 When mark_char is active in an eligible acquisition context, create one high-priority CleverTeeChar multi-match overlay. S0.10.4 FeedbackService Acquire in each context and inspect overlay count and priority. SCN-1510-OVERLAY-LIFECYCLE
CF-1205-002 REQUIRED 12.5 Anchor persistent candidate match starts to the current line. S0.10.4 FeedbackService Acquire on different lines and inspect each anchor. SCN-1510-OVERLAY-LIFECYCLE
CF-1205-003 REQUIRED 12.5 Use the movement target plan and descriptor destination transform for persistent feedback. S0.10.4 FeedbackService Compare overlay and movement plan identities for literal, symbol, case, and Migemo branches. -
CF-1205-004 REQUIRED 12.5 Persistent FIND highlights targets, TILL highlights adjacent positions, and exclusive Visual follows section 10.5. S0.10.4 FeedbackService Inspect overlay positions for all descriptors and endpoint policies. -
CF-1205-005 REQUIRED 12.5 Keep persistent match highlighting window-local. S0.10.4 FeedbackService Create feedback in one window and inspect a second window. -
CF-1205-006 REQUIRED 12.5 Allow persistent feedback in Normal, all Visual and Select kinds, and legacy Normal-Ex compatibility context. S0.10.4 FeedbackService Acquire in every listed full mode and assert one overlay. -
CF-1205-007 REQUIRED 12.5 Suppress persistent feedback in operator-pending context while retaining motion and temporary feedback. S0.10.4 FeedbackService Run an operator motion with all marks enabled and inspect effects. SCN-1104-DFE
-CF-1206-001 REQUIRED 12.6 After complete command movement to another line, rebuild persistent CleverFChar feedback at the destination line. S0.10.5 FeedbackService Complete a cross-line FIND and inspect remove-create operations and anchor. SCN-1510-OVERLAY-LIFECYCLE
+CF-1206-001 REQUIRED 12.6 After complete command movement to another line, rebuild persistent CleverTeeChar feedback at the destination line. S0.10.5 FeedbackService Complete a cross-line FIND and inspect remove-create operations and anchor. SCN-1510-OVERLAY-LIFECYCLE
CF-1206-002 REQUIRED 12.6 After repeated TILL changes movement direction, rebuild persistent feedback at the destination line. S0.10.5 FeedbackService Repeat TILL opposite to moved_forward on the same line. -
CF-1206-003 REQUIRED 12.6 Keep same-line FIND feedback at its prior anchor. S0.10.5 FeedbackService Complete same-line FIND repeats in both directions and assert no rebuild. SCN-1510-OVERLAY-LIFECYCLE
CF-1206-004 REQUIRED 12.6 Visual motion retains its overlay anchor until a later lifecycle transition. S0.10.5 FeedbackService Move Visual endpoint across a line and inspect anchor. SCN-1103-VISUAL-SUCCESS
@@ -272,7 +272,7 @@ CF-1207-001 REQUIRED 12.7 After persistent feedback creation, register current-b
CF-1207-002 REQUIRED 12.7 On CursorMoved at previous_landing[last_input_context], preserve the sequence. S0.10.6 FeedbackService Deliver synchronous and later matching CursorMoved events. SCN-1510-OVERLAY-LIFECYCLE
CF-1207-003 REQUIRED 12.7 On CursorMoved at another position, execute full finalization. S0.10.6 FeedbackService Move to an unrelated position and deliver CursorMoved. SCN-1207-CURSOR-FINALIZE
CF-1207-004 REQUIRED 12.7 On InsertEnter or TextChanged, execute full finalization directly. S0.10.6 FeedbackService Deliver each event from populated feedback state. SCN-1207-INSERT-FINALIZE,SCN-1207-TEXT-FINALIZE
-CF-1207-005 REQUIRED 12.7 Full finalization removes finalizers, cancels active timer, removes current-window CleverFChar overlays, clears all landings, and sets moved_forward false. S0.10.6 StateTransitions Populate every affected field, finalize, and inspect effects and state. SCN-1207-CURSOR-FINALIZE,SCN-1207-INSERT-FINALIZE,SCN-1207-TEXT-FINALIZE
+CF-1207-005 REQUIRED 12.7 Full finalization removes finalizers, cancels active timer, removes current-window CleverTeeChar overlays, clears all landings, and sets moved_forward false. S0.10.6 StateTransitions Populate every affected field, finalize, and inspect effects and state. SCN-1207-CURSOR-FINALIZE,SCN-1207-INSERT-FINALIZE,SCN-1207-TEXT-FINALIZE
CF-1207-006 REQUIRED 12.7 Full finalization retains descriptors, targets, first_move, last_input_context, and Migemo cache. S0.10.6 StateTransitions Populate every retained field, finalize, and compare exact values. SCN-1207-CURSOR-FINALIZE,SCN-1207-INSERT-FINALIZE,SCN-1207-TEXT-FINALIZE
CF-1207-007 REQUIRED 12.7 After full finalization, explicit repeats remain possible and the next primary action acquires. S0.10.6 StateTransitions Finalize, invoke explicit repeat, then invoke primary action. SCN-1207-CURSOR-FINALIZE
CF-1207-008 REQUIRED 12.7 When eager cleanup was enabled at initialization and live mark_char is true, WinEnter, WinLeave, and CmdwinLeave remove character overlays and cancel timer. S0.10.8 FeedbackService Deliver all three events with the sampled policy and live setting combinations. SCN-1207-EAGER-WINDOWS
@@ -280,7 +280,7 @@ CF-1207-009 REQUIRED 12.7 Eager window cleanup preserves motion history and fina
CF-1208-001 REQUIRED 12.8 Activate highlight timeout only when mark_char is true, delay is positive, and timers are supported. S0.10.7 FeedbackService Cover the eight-condition Boolean matrix. SCN-1510-TIMEOUT
CF-1208-002 REQUIRED 12.8 After each primary action, stop the prior timer and start a new timer for highlight_timeout_ms. S0.10.7 FeedbackService Run fresh and repeated actions and inspect ordered timer operations. SCN-1208-TIMER-IDENTITY
CF-1208-003 REQUIRED 12.8 A timer callback clears feedback only when its identity equals highlight_timer. S0.10.7 FeedbackService Fire stale and current callbacks after timer replacement. SCN-1208-TIMER-IDENTITY
-CF-1208-004 REQUIRED 12.8 A current timer callback marks the timer inactive and removes CleverFChar overlays while preserving motion history. S0.10.7 StateTransitions Fire current timer and compare all state fields. SCN-1510-TIMEOUT
+CF-1208-004 REQUIRED 12.8 A current timer callback marks the timer inactive and removes CleverTeeChar overlays while preserving motion history. S0.10.7 StateTransitions Fire current timer and compare all state fields. SCN-1510-TIMEOUT
CF-1208-005 REQUIRED 12.8 A repeated primary action after timeout cleanup restores stored feedback before movement and starts a new timer. S0.10.7 FeedbackService Fire timeout, invoke primary repeat, and inspect effect order. SCN-1510-TIMEOUT
CF-1208-006 REQUIRED 12.8 Repeated primary actions postpone highlight expiration. S0.10.7 FeedbackService Repeat before expiry, then fire old and new timer identities. SCN-1208-TIMER-IDENTITY
CF-1208-007 REQUIRED 12.8 Explicit repeats leave target-overlay restoration and timer management unchanged. S0.10.7 FeedbackService Invoke explicit actions after timer cleanup and inspect zero feedback effects. -
@@ -296,7 +296,7 @@ CF-1302-003 REQUIRED 13.2 For current-line search, additionally require a multib
CF-1303-001 REQUIRED 13.3 Select and cache the dictionary by effective encoding on first use. S0.7.7 MigemoCatalog Request each encoding twice and inspect load count and cache identity. -
CF-1303-002 REQUIRED 13.3 Accept UTF-8, CP932, and EUC-JP effective encodings. S0.7.7 MigemoCatalog Resolve canonical host names for all three variants. -
CF-1303-003 REQUIRED 13.3 For another encoding, set live use_migemo to false. S0.7.7 MigemoCatalog Request an unsupported encoding and inspect configuration mutation. -
-CF-1303-004 REQUIRED 13.3 For another encoding, raise clever-f: Encoding '<encoding>' is not supported. Migemo is disabled. S0.11.4 MigemoCatalog Request a named unsupported encoding and compare exact diagnostic text. -
+CF-1303-004 REQUIRED 13.3 For another encoding, raise clever-tee: Encoding '<encoding>' is not supported. Migemo is disabled. S0.11.4 MigemoCatalog Request a named unsupported encoding and compare exact diagnostic text. -
CF-1303-005 REQUIRED 13.3 Public Reset clears the Migemo cache. S0.4.7 StateTransitions Populate all three cache keys, reset, and inspect the cache. SCN-1401-PUBLIC-RESET
CF-1304-001 REQUIRED 13.4 A Migemo candidate requires its dictionary pattern to match at the candidate start. S0.7.2 TargetPlanFactory Evaluate candidates before, at, and inside accepted dictionary text. -
CF-1304-002 REQUIRED 13.4 A Migemo candidate character must equal the target under case mode or lie outside ASCII alphabetic characters. S0.7.2 TargetPlanFactory Test matching and nonmatching Latin letters plus Japanese candidates. -
@@ -304,13 +304,13 @@ CF-1304-003 REQUIRED 13.4 Return one character at the candidate start while perm
CF-1304-004 REQUIRED 13.4 Apply search-scope limits to Migemo candidate start, then apply FIND, TILL, count, and feedback transforms. S0.7.2 TargetPlanFactory Place assertion tails outside scope and compare all downstream transforms. -
CF-1401-001 REQUIRED 14.1 Public Reset clears all descriptors, landings, first_move values, and Migemo cache. S0.4.7 StateTransitions Populate all contexts and cache, reset, and inspect cleared fields. SCN-1401-PUBLIC-RESET
CF-1401-002 REQUIRED 14.1 Public Reset replaces repeat_timestamp with a safe zero. S0.4.7 StateTransitions Set a nonzero timestamp, reset, and use the result in later timeout arithmetic. SCN-1401-PUBLIC-RESET
-CF-1401-003 REQUIRED 14.1 Public Reset cancels the active highlight timer and removes current-window CleverFChar overlays. S0.4.7 StateTransitions Populate timer and overlays, reset, and inspect effects and identities. SCN-1401-PUBLIC-RESET
+CF-1401-003 REQUIRED 14.1 Public Reset cancels the active highlight timer and removes current-window CleverTeeChar overlays. S0.4.7 StateTransitions Populate timer and overlays, reset, and inspect effects and identities. SCN-1401-PUBLIC-RESET
CF-1401-004 REQUIRED 14.1 Public Reset returns a neutral result and causes no cursor movement. S0.1.3 ActionFacade Invoke Reset at a noninitial position and inspect result and cursor. SCN-1401-PUBLIC-RESET
CF-1401-005 REQUIRED 14.1 Public Reset retains targets, last_input_context, moved_forward, and finalizer registrations. S0.4.7 StateTransitions Populate all retained fields, reset, and compare exact values. SCN-1401-PUBLIC-RESET
CF-1401-006 REQUIRED 14.1 After Public Reset, a primary action acquires, an explicit repeat is empty, and later finalizer events can remove retained registrations. S0.4.7 StateTransitions Reset, invoke both action classes, and deliver one retained finalizer. SCN-1401-PUBLIC-RESET
CF-1402-001 OPTIONAL 14.2 A diagnostic full reset can be exposed for tests or diagnostics. S0.11.4 ActionFacade Inspect optional action exposure when diagnostic mode is enabled. SCN-1402-DIAGNOSTIC-RESET
CF-1402-002 REQUIRED 14.2 Diagnostic full reset performs Public Reset and also clears input context, all targets, finalizers, moved_forward, and its initialization state. S0.4.7 StateTransitions Populate every state field, run diagnostic reset, and inspect exact cleared set. SCN-1402-DIAGNOSTIC-RESET
-CF-1403-001 REQUIRED 14.3 A free-form invalid descriptor raises clever-f: Invalid mapping 'X'. S0.11.4 ActionFacade Pass representative invalid values and compare exact rendered value. -
+CF-1403-001 REQUIRED 14.3 A free-form invalid descriptor raises clever-tee: Invalid mapping 'X'. S0.11.4 ActionFacade Pass representative invalid values and compare exact rendered value. -
CF-1404-001 REQUIRED 14.4 A failed first search emits no plugin error and preserves the original cursor. S0.1.4 ActionFacade Search a missing target and inspect diagnostics and cursor. SCN-1102-COMMAND-FAILURE
CF-1404-002 REQUIRED 14.4 A failed sequential count follows partial-progress behavior. S0.1.4 ActionFacade Request one more match than available and inspect typed outcome and endpoint. SCN-1004-PARTIAL-FAILURE
CF-1404-003 REQUIRED 14.4 Temporary feedback cleanup completes after failed search while persistent feedback follows its lifecycle. S0.6.1 AcquisitionService Inject first and later-step failures and inspect temporary and persistent resources. SCN-0702-TEMP-UNMATCHED,SCN-0702-TEMP-SEARCH-ERROR
@@ -332,7 +332,7 @@ CF-1508-001 REQUIRED 15.8 Default-case direct preview count one produces columns
CF-1508-002 REQUIRED 15.8 Default-case direct preview count two produces columns 8,10,17,18,19 on the specified text. S0.10.3 DirectPreviewPlanner Run the exact count-two preview example. SCN-1508-DIRECT-TWO
CF-1508-003 REQUIRED 15.8 Direct preview emits valid multibyte byte columns in both directions. S0.10.3 DirectPreviewPlanner Scan a mixed-width line forward and backward and validate each start. SCN-1508-DIRECT-MULTIBYTE
CF-1509-001 REQUIRED 15.9 A repeated macro containing fax acquires a on every iteration and can remove all five a characters from the specified text. S0.6.8 AcquisitionService Run the exact five-iteration macro example and count inputs and resulting buffer. SCN-1509-MACRO
-CF-1510-001 REQUIRED 15.10 Fresh eligible acquisition creates CleverFChar feedback and same-line command motion preserves it. S0.10.4 FeedbackService Acquire and repeat on one line while inspecting overlay identity. SCN-1510-OVERLAY-LIFECYCLE
+CF-1510-001 REQUIRED 15.10 Fresh eligible acquisition creates CleverTeeChar feedback and same-line command motion preserves it. S0.10.4 FeedbackService Acquire and repeat on one line while inspecting overlay identity. SCN-1510-OVERLAY-LIFECYCLE
CF-1510-002 REQUIRED 15.10 Cross-line command motion migrates the overlay anchor to the destination line. S0.10.5 FeedbackService Repeat into another line and inspect rebuild plan. SCN-1510-OVERLAY-LIFECYCLE
CF-1510-003 REQUIRED 15.10 Unrelated CursorMoved, InsertEnter, and TextChanged events execute full finalization. S0.10.6 FeedbackService Deliver each event from equivalent populated states. SCN-1207-CURSOR-FINALIZE,SCN-1207-INSERT-FINALIZE,SCN-1207-TEXT-FINALIZE
CF-1510-004 REQUIRED 15.10 Positive highlight timeout clears only feedback and preserves repetition history. S0.10.7 FeedbackService Fire the current timer and compare overlay and history fields. SCN-1510-TIMEOUT
diff --git a/conformance/scenario-schema.json b/conformance/scenario-schema.json
index 10fde22..dfc46b0 100644
--- a/conformance/scenario-schema.json
+++ b/conformance/scenario-schema.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
- "$id": "https://clever-f.invalid/conformance/scenario-schema.json",
- "title": "clever-f host-neutral conformance scenarios",
+ "$id": "https://clever-tee.invalid/conformance/scenario-schema.json",
+ "title": "clever-tee host-neutral conformance scenarios",
"type": "object",
"required": ["format_version", "scenarios"],
"additionalProperties": false,
@@ -287,7 +287,7 @@
"properties": {
"after_step": { "type": "integer", "minimum": 0 },
"operation": { "enum": ["create", "remove", "rebuild", "preserve"] },
- "group": { "enum": ["CleverFCursor", "CleverFChar", "CleverFDirect"] },
+ "group": { "enum": ["CleverTeeCursor", "CleverTeeChar", "CleverTeeDirect"] },
"identity": { "type": "string" },
"window": { "type": "string" },
"anchor_line": { "type": "integer", "minimum": 1 },
diff --git a/lua/clever_f/acquisition_service.lua b/lua/clever_tee/acquisition_service.lua
index e0a6291..6e91159 100644
--- a/lua/clever_f/acquisition_service.lua
+++ b/lua/clever_tee/acquisition_service.lua
@@ -1,12 +1,12 @@
-local domain = require("clever_f.domain")
-local direct_preview_planner = require("clever_f.direct_preview_planner")
-local feedback_service = require("clever_f.feedback_service")
-local motion_plan_factory = require("clever_f.motion_plan")
-local policy = require("clever_f.policy")
-local sequence_state = require("clever_f.sequence_state")
-local state_transitions = require("clever_f.state_transitions")
-local target_plan_factory = require("clever_f.target_plan")
-local text_topology = require("clever_f.text_topology")
+local domain = require("clever_tee.domain")
+local direct_preview_planner = require("clever_tee.direct_preview_planner")
+local feedback_service = require("clever_tee.feedback_service")
+local motion_plan_factory = require("clever_tee.motion_plan")
+local policy = require("clever_tee.policy")
+local sequence_state = require("clever_tee.sequence_state")
+local state_transitions = require("clever_tee.state_transitions")
+local target_plan_factory = require("clever_tee.target_plan")
+local text_topology = require("clever_tee.text_topology")
local M = {}
local AcquisitionRequest = {}
@@ -21,7 +21,7 @@ M.TemporaryResourceScope = TemporaryResourceScope
M.RepeatedDirection = {
SAME = "same",
}
-M.PROMPT = "clever-f: "
+M.PROMPT = "clever-tee: "
M.PREVIOUS_INPUT_NOT_FOUND = "Previous input not found."
local request_records = setmetatable({}, { __mode = "k" })
@@ -54,7 +54,7 @@ local request_metatable = {
__tostring = function(request)
return "acquisition-request:" .. request_records[request].descriptor.value
end,
- __metatable = "clever_f.acquisition_service.AcquisitionRequest",
+ __metatable = "clever_tee.acquisition_service.AcquisitionRequest",
}
function AcquisitionRequest.new(descriptor, context, position, count, macro_state)
@@ -112,7 +112,7 @@ local result_metatable = {
local outcome = result_records[result].outcome
return outcome and tostring(outcome) or "acquisition:resolved"
end,
- __metatable = "clever_f.acquisition_service.AcquisitionResult",
+ __metatable = "clever_tee.acquisition_service.AcquisitionResult",
}
function AcquisitionResult.new(request, options)
@@ -188,7 +188,7 @@ local scope_metatable = {
__newindex = function()
fail("TemporaryResourceScope values are read-only", 2)
end,
- __metatable = "clever_f.acquisition_service.TemporaryResourceScope",
+ __metatable = "clever_tee.acquisition_service.TemporaryResourceScope",
}
function TemporaryResourceScope.new(request, feedback, host)
@@ -875,7 +875,7 @@ end
local function error_message(failure)
local message = tostring(failure)
if message == "" then
- return "clever-f: Acquisition failed"
+ return "clever-tee: Acquisition failed"
end
return message
end
diff --git a/lua/clever_f/action_facade.lua b/lua/clever_tee/action_facade.lua
index a3fe173..fe7a035 100644
--- a/lua/clever_f/action_facade.lua
+++ b/lua/clever_tee/action_facade.lua
@@ -1,5 +1,5 @@
-local domain = require("clever_f.domain")
-local sequence_coordinator = require("clever_f.sequence_coordinator")
+local domain = require("clever_tee.domain")
+local sequence_coordinator = require("clever_tee.sequence_coordinator")
local M = {}
local ActionFacade = {}
diff --git a/lua/clever_f/capabilities.lua b/lua/clever_tee/capabilities.lua
index 325d015..325d015 100644
--- a/lua/clever_f/capabilities.lua
+++ b/lua/clever_tee/capabilities.lua
diff --git a/lua/clever_f/case_policy.lua b/lua/clever_tee/case_policy.lua
index 2631d5b..07e4fb1 100644
--- a/lua/clever_f/case_policy.lua
+++ b/lua/clever_tee/case_policy.lua
@@ -1,4 +1,4 @@
-local domain = require("clever_f.domain")
+local domain = require("clever_tee.domain")
local M = {}
local CasePolicyResolver = {}
@@ -70,7 +70,7 @@ local resolver_metatable = {
__tostring = function()
return "case-policy-resolver"
end,
- __metatable = "clever_f.case_policy.CasePolicyResolver",
+ __metatable = "clever_tee.case_policy.CasePolicyResolver",
}
function CasePolicyResolver.new(options)
diff --git a/lua/clever_f/composition_root.lua b/lua/clever_tee/composition_root.lua
index 35aaf1f..4741bd4 100644
--- a/lua/clever_f/composition_root.lua
+++ b/lua/clever_tee/composition_root.lua
@@ -1,10 +1,10 @@
-local action_facade = require("clever_f.action_facade")
-local capabilities = require("clever_f.capabilities")
-local feedback_service = require("clever_f.feedback_service")
-local policy = require("clever_f.policy")
-local sequence_coordinator = require("clever_f.sequence_coordinator")
-local sequence_state = require("clever_f.sequence_state")
-local state_transitions = require("clever_f.state_transitions")
+local action_facade = require("clever_tee.action_facade")
+local capabilities = require("clever_tee.capabilities")
+local feedback_service = require("clever_tee.feedback_service")
+local policy = require("clever_tee.policy")
+local sequence_coordinator = require("clever_tee.sequence_coordinator")
+local sequence_state = require("clever_tee.sequence_state")
+local state_transitions = require("clever_tee.state_transitions")
local M = {}
local CompositionRoot = {}
@@ -163,7 +163,7 @@ function CompositionRoot:activate()
function()
record.last_highlight_refresh = record.feedback:evaluate_highlights()
end,
- { owner = "clever_f", lifecycle = "colorscheme" }
+ { owner = "clever_tee", lifecycle = "colorscheme" }
)
local actions = register_logical_actions(record)
record.activation = {
diff --git a/lua/clever_f/destination_engine.lua b/lua/clever_tee/destination_engine.lua
index 53cb654..0469bb2 100644
--- a/lua/clever_f/destination_engine.lua
+++ b/lua/clever_tee/destination_engine.lua
@@ -1,5 +1,5 @@
-local domain = require("clever_f.domain")
-local text_topology = require("clever_f.text_topology")
+local domain = require("clever_tee.domain")
+local text_topology = require("clever_tee.text_topology")
local M = {}
local DestinationEngine = {}
@@ -19,7 +19,7 @@ local engine_metatable = {
__tostring = function()
return "destination-engine"
end,
- __metatable = "clever_f.destination_engine.DestinationEngine",
+ __metatable = "clever_tee.destination_engine.DestinationEngine",
}
function DestinationEngine.new()
diff --git a/lua/clever_f/direct_preview_planner.lua b/lua/clever_tee/direct_preview_planner.lua
index 6735924..699fcf4 100644
--- a/lua/clever_f/direct_preview_planner.lua
+++ b/lua/clever_tee/direct_preview_planner.lua
@@ -1,6 +1,6 @@
-local case_policy = require("clever_f.case_policy")
-local domain = require("clever_f.domain")
-local text_topology = require("clever_f.text_topology")
+local case_policy = require("clever_tee.case_policy")
+local domain = require("clever_tee.domain")
+local text_topology = require("clever_tee.text_topology")
local M = {}
local DirectPreviewPlanner = {}
diff --git a/lua/clever_f/domain.lua b/lua/clever_tee/domain.lua
index 0d802b3..ff0e513 100644
--- a/lua/clever_f/domain.lua
+++ b/lua/clever_tee/domain.lua
@@ -51,7 +51,7 @@ local function register_type(type_name, type_methods, formatter, equality)
end
return rawequal(left, right)
end,
- __metatable = "clever_f.domain." .. type_name,
+ __metatable = "clever_tee.domain." .. type_name,
}
metatables[type_name] = mt
end
diff --git a/lua/clever_f/feedback_service.lua b/lua/clever_tee/feedback_service.lua
index ca26746..b99fe04 100644
--- a/lua/clever_f/feedback_service.lua
+++ b/lua/clever_tee/feedback_service.lua
@@ -1,8 +1,8 @@
-local domain = require("clever_f.domain")
-local policy = require("clever_f.policy")
-local sequence_state = require("clever_f.sequence_state")
-local state_transitions = require("clever_f.state_transitions")
-local text_topology = require("clever_f.text_topology")
+local domain = require("clever_tee.domain")
+local policy = require("clever_tee.policy")
+local sequence_state = require("clever_tee.sequence_state")
+local state_transitions = require("clever_tee.state_transitions")
+local text_topology = require("clever_tee.text_topology")
local M = {}
local FeedbackService = {}
@@ -11,7 +11,7 @@ M.FeedbackService = FeedbackService
local CursorPresentationLease = {}
M.CursorPresentationLease = CursorPresentationLease
-M.DEFAULT_LABEL_GROUP = "CleverFDefaultLabel"
+M.DEFAULT_LABEL_GROUP = "CleverTeeDefaultLabel"
M.Priority = {
HIGH = "high",
ORDINARY = "ordinary",
@@ -36,9 +36,9 @@ M.MigrationReason = {
}
local OVERLAY_PRIORITIES = {
- CleverFCursor = M.Priority.HIGH,
- CleverFChar = M.Priority.HIGH,
- CleverFDirect = M.Priority.ORDINARY,
+ CleverTeeCursor = M.Priority.HIGH,
+ CleverTeeChar = M.Priority.HIGH,
+ CleverTeeDirect = M.Priority.ORDINARY,
}
local service_records = setmetatable({}, { __mode = "k" })
@@ -46,9 +46,9 @@ local cursor_lease_records = setmetatable({}, { __mode = "k" })
local temporary_release_records = setmetatable({}, { __mode = "k" })
local FEATURE_GROUPS = {
- "CleverFCursor",
- "CleverFChar",
- "CleverFDirect",
+ "CleverTeeCursor",
+ "CleverTeeChar",
+ "CleverTeeDirect",
}
local LEGACY_NORMAL_EX_CONTEXTS = {
@@ -224,7 +224,7 @@ local cursor_lease_metatable = {
__newindex = function()
fail("cursor presentation leases are read-only", 2)
end,
- __metatable = "clever_f.feedback_service.CursorPresentationLease",
+ __metatable = "clever_tee.feedback_service.CursorPresentationLease",
}
local function new_cursor_presentation_lease(host, suppress)
@@ -300,16 +300,16 @@ function FeedbackService:create_direct_markers(positions, window)
local record = service_records[self]
local identity = record.host:create_highlight({
- group = "CleverFDirect",
+ group = "CleverTeeDirect",
window = window,
positions = positions,
- priority = M.overlay_priority("CleverFDirect"),
+ priority = M.overlay_priority("CleverTeeDirect"),
})
- record.transitions:AddTemporaryOverlay(identity, window, "CleverFDirect")
+ record.transitions:AddTemporaryOverlay(identity, window, "CleverTeeDirect")
local resource = {
identity = identity,
window = window,
- group = "CleverFDirect",
+ group = "CleverTeeDirect",
positions = positions,
}
temporary_release_records[resource] = false
@@ -324,16 +324,16 @@ function FeedbackService:create_cursor_marker(position, window)
local record = service_records[self]
local identity = record.host:create_highlight({
- group = "CleverFCursor",
+ group = "CleverTeeCursor",
window = window,
position = position,
- priority = M.overlay_priority("CleverFCursor"),
+ priority = M.overlay_priority("CleverTeeCursor"),
})
- record.transitions:AddTemporaryOverlay(identity, window, "CleverFCursor")
+ record.transitions:AddTemporaryOverlay(identity, window, "CleverTeeCursor")
local resource = {
identity = identity,
window = window,
- group = "CleverFCursor",
+ group = "CleverTeeCursor",
position = position,
}
temporary_release_records[resource] = false
@@ -610,18 +610,18 @@ local function materialize_persistent(service, request)
local record = service_records[service]
remove_target_overlays(record, request.window)
request.identity = record.host:create_highlight({
- group = "CleverFChar",
+ group = "CleverTeeChar",
window = request.window,
positions = request.positions,
- priority = M.overlay_priority("CleverFChar"),
+ priority = M.overlay_priority("CleverTeeChar"),
target_plan = request.target_plan,
descriptor = request.descriptor,
endpoint_policy = request.endpoint_policy,
anchor_line = request.anchor_line,
match_start_line = request.match_start_line,
})
- request.group = "CleverFChar"
- request.priority = M.overlay_priority("CleverFChar")
+ request.group = "CleverTeeChar"
+ request.priority = M.overlay_priority("CleverTeeChar")
local owned, ownership_error = pcall(function()
record.transitions:AddTargetOverlay(
request.identity,
@@ -900,7 +900,7 @@ function FeedbackService:activate()
function(name, payload)
self:handle_eager_event(name, payload)
end,
- { owner = "clever_f", lifecycle = "eager" }
+ { owner = "clever_tee", lifecycle = "eager" }
)
record.eager_registration = identity
activation.eager_registration = identity
diff --git a/lua/clever_f/host_adapter.lua b/lua/clever_tee/host_adapter.lua
index a4ec77d..c746f60 100644
--- a/lua/clever_f/host_adapter.lua
+++ b/lua/clever_tee/host_adapter.lua
@@ -1,5 +1,5 @@
-local capabilities = require("clever_f.capabilities")
-local domain = require("clever_f.domain")
+local capabilities = require("clever_tee.capabilities")
+local domain = require("clever_tee.domain")
local M = {}
local unpack_values = table.unpack or unpack
@@ -12,9 +12,9 @@ M.ActionEffect = {
ESCAPE = "escape",
ERROR = "error",
}
-M.CONFIGURATION_PREFIX = "clever_f_"
+M.CONFIGURATION_PREFIX = "clever_tee_"
M.CONFIGURATION_GLOBALS = {
- suppress_default_mappings = "clever_f_not_overwrites_standard_mappings",
+ suppress_default_mappings = "clever_tee_not_overwrites_standard_mappings",
}
local BOOLEAN_CONFIGURATION = {
@@ -413,7 +413,7 @@ function HostAdapter:emit_diagnostic(level, text)
fail("HostAdapter runtime must provide notify", 2)
end
local levels = type(runtime.log) == "table" and runtime.log.levels or {}
- runtime.notify(text, levels[level_name], { title = "clever-f" })
+ runtime.notify(text, levels[level_name], { title = "clever-tee" })
if record.action_diagnostics ~= nil then
record.action_diagnostics[level .. "\0" .. text] = true
end
@@ -712,7 +712,7 @@ end
local function event_augroup(record)
if record.augroup == nil then
record.augroup = record.runtime.api.nvim_create_augroup(
- "clever_f",
+ "clever_tee",
{ clear = true }
)
end
@@ -741,7 +741,7 @@ function HostAdapter:register_events(names, callback, options)
local identity = next_identity(self, "event-registration")
local autocmd_options = {
group = event_augroup(record),
- desc = "clever-f " .. table.concat(names, "/"),
+ desc = "clever-tee " .. table.concat(names, "/"),
callback = function(event)
local resource = record.events[identity]
if resource ~= nil and resource.active then
@@ -784,7 +784,7 @@ function HostAdapter:remove_event_registration(identity)
return true
end
-local DOT_MOTION_MAPPING = "<Plug>(clever-f-dot-motion)"
+local DOT_MOTION_MAPPING = "<Plug>(clever-tee-dot-motion)"
local function dot_bridge_supported(runtime)
return type(runtime.keymap) == "table"
@@ -848,7 +848,7 @@ install_dot_bridge = function(adapter)
end, {
silent = true,
remap = false,
- desc = "clever-f dot motion",
+ desc = "clever-tee dot motion",
})
local has_cmd_atom = type(runtime.fn.exists) == "function"
and runtime.fn.exists("##CmdAtom") == 1
@@ -857,7 +857,7 @@ install_dot_bridge = function(adapter)
or { "TextChanged", "TextChangedI", "TextChangedP" }
runtime.api.nvim_create_autocmd(ownership_events, {
group = event_augroup(record),
- desc = "clever-f dot ownership",
+ desc = "clever-tee dot ownership",
callback = function(event)
if has_cmd_atom and not (event.data and event.data.changed) then
return
@@ -889,7 +889,7 @@ install_dot_bridge = function(adapter)
end, {
silent = true,
remap = false,
- desc = "clever-f dot repeat",
+ desc = "clever-tee dot repeat",
})
bridge.active = true
end
@@ -1138,7 +1138,7 @@ function HostAdapter:register_mapping(modes, lhs, action, options)
silent = options.silent == true,
remap = options.remap == true,
desc = options.desc
- or ("clever-f " .. (type(action) == "string" and action or lhs)),
+ or ("clever-tee " .. (type(action) == "string" and action or lhs)),
}
self:runtime().keymap.set(modes, lhs, callback, native_options)
local identity = next_identity(self, "mapping")
diff --git a/lua/clever_f/init.lua b/lua/clever_tee/init.lua
index a1272fc..85abc86 100644
--- a/lua/clever_f/init.lua
+++ b/lua/clever_tee/init.lua
@@ -1,5 +1,5 @@
-local composition_root = require("clever_f.composition_root")
-local host_adapter = require("clever_f.host_adapter")
+local composition_root = require("clever_tee.composition_root")
+local host_adapter = require("clever_tee.host_adapter")
local M = {}
local active_root
@@ -18,7 +18,7 @@ local function build_root(options)
end
options = options or {}
if type(options) ~= "table" then
- fail("clever-f activation options must be a table", 3)
+ fail("clever-tee activation options must be a table", 3)
end
if options.host == nil then
local adapter_options = options.runtime ~= nil
@@ -87,7 +87,7 @@ local function invoke_direct(callback)
local instance = root()
local host = instance:host()
if type(host.invoke_callback) ~= "function" then
- fail("clever-f host must invoke direct action callbacks", 2)
+ fail("clever-tee host must invoke direct action callbacks", 2)
end
return host:invoke_callback(function()
return callback(instance)
diff --git a/lua/clever_f/migemo_catalog.lua b/lua/clever_tee/migemo_catalog.lua
index 18d9541..0a7f87b 100644
--- a/lua/clever_f/migemo_catalog.lua
+++ b/lua/clever_tee/migemo_catalog.lua
@@ -1,7 +1,7 @@
-local domain = require("clever_f.domain")
-local sequence_state = require("clever_f.sequence_state")
-local state_transitions = require("clever_f.state_transitions")
-local text_topology = require("clever_f.text_topology")
+local domain = require("clever_tee.domain")
+local sequence_state = require("clever_tee.sequence_state")
+local state_transitions = require("clever_tee.state_transitions")
+local text_topology = require("clever_tee.text_topology")
local M = {}
local MigemoCatalog = {}
@@ -40,21 +40,21 @@ end
local ASSETS = {
["utf-8"] = {
file = "utf8.vim",
- function_name = "clever_f#migemo#utf8#load_dict",
+ function_name = "clever_tee#migemo#utf8#load_dict",
},
cp932 = {
file = "cp932.vim",
- function_name = "clever_f#migemo#cp932#load_dict",
+ function_name = "clever_tee#migemo#cp932#load_dict",
},
["euc-jp"] = {
file = "eucjp.vim",
- function_name = "clever_f#migemo#eucjp#load_dict",
+ function_name = "clever_tee#migemo#eucjp#load_dict",
},
}
local module_source = debug.getinfo(1, "S").source
local module_file = module_source:sub(1, 1) == "@" and module_source:sub(2) or module_source
-local bundled_root = module_file:match("^(.*)/lua/clever_f/migemo_catalog%.lua$")
+local bundled_root = module_file:match("^(.*)/lua/clever_tee/migemo_catalog%.lua$")
local function require_nonempty_string(value, name)
if type(value) ~= "string" or value == "" then
@@ -67,7 +67,7 @@ local function asset_path(asset)
if bundled_root == nil then
fail("Migemo catalog could not locate its bundled assets", 2)
end
- return bundled_root .. "/autoload/clever_f/migemo/" .. asset.file
+ return bundled_root .. "/autoload/clever_tee/migemo/" .. asset.file
end
local function read_asset_key_order(path)
@@ -205,7 +205,7 @@ local dictionary_metatable = {
__tostring = function(dictionary)
return "migemo-dictionary:" .. dictionary_records[dictionary].encoding
end,
- __metatable = "clever_f.migemo_catalog.MigemoDictionary",
+ __metatable = "clever_tee.migemo_catalog.MigemoDictionary",
}
local function validate_dictionary_data(data, ordered_keys, encoding)
@@ -379,7 +379,7 @@ local catalog_metatable = {
__tostring = function()
return "migemo-catalog"
end,
- __metatable = "clever_f.migemo_catalog.MigemoCatalog",
+ __metatable = "clever_tee.migemo_catalog.MigemoCatalog",
}
function MigemoCatalog.new(options)
@@ -448,7 +448,7 @@ local function unsupported(catalog, requested_encoding, policy_override)
record.disable_migemo()
end
error(
- "clever-f: Encoding '" .. requested_encoding
+ "clever-tee: Encoding '" .. requested_encoding
.. "' is not supported. Migemo is disabled",
0
)
diff --git a/lua/clever_f/motion_executor.lua b/lua/clever_tee/motion_executor.lua
index 79cc2ab..4001661 100644
--- a/lua/clever_f/motion_executor.lua
+++ b/lua/clever_tee/motion_executor.lua
@@ -1,8 +1,8 @@
-local destination_engine = require("clever_f.destination_engine")
-local domain = require("clever_f.domain")
-local sequence_state = require("clever_f.sequence_state")
-local state_transitions = require("clever_f.state_transitions")
-local text_topology = require("clever_f.text_topology")
+local destination_engine = require("clever_tee.destination_engine")
+local domain = require("clever_tee.domain")
+local sequence_state = require("clever_tee.sequence_state")
+local state_transitions = require("clever_tee.state_transitions")
+local text_topology = require("clever_tee.text_topology")
local M = {}
local MotionExecutor = {}
@@ -157,7 +157,7 @@ local executor_metatable = {
__tostring = function()
return "motion-executor"
end,
- __metatable = "clever_f.motion_executor.MotionExecutor",
+ __metatable = "clever_tee.motion_executor.MotionExecutor",
}
function MotionExecutor.new(options, dependencies)
diff --git a/lua/clever_f/motion_plan.lua b/lua/clever_tee/motion_plan.lua
index 1d0b4e3..17e06eb 100644
--- a/lua/clever_f/motion_plan.lua
+++ b/lua/clever_tee/motion_plan.lua
@@ -1,4 +1,4 @@
-local domain = require("clever_f.domain")
+local domain = require("clever_tee.domain")
local M = {}
local MotionPlanFactory = {}
@@ -40,7 +40,7 @@ local factory_metatable = {
__tostring = function()
return "motion-plan-factory"
end,
- __metatable = "clever_f.motion_plan.MotionPlanFactory",
+ __metatable = "clever_tee.motion_plan.MotionPlanFactory",
}
function MotionPlanFactory.new(options)
diff --git a/lua/clever_f/policy.lua b/lua/clever_tee/policy.lua
index df9fb7a..94bf6df 100644
--- a/lua/clever_f/policy.lua
+++ b/lua/clever_tee/policy.lua
@@ -1,5 +1,5 @@
-local case_policy = require("clever_f.case_policy")
-local domain = require("clever_f.domain")
+local case_policy = require("clever_tee.case_policy")
+local domain = require("clever_tee.domain")
local M = {}
local PolicyService = {}
@@ -70,7 +70,7 @@ local SCHEMA = {
default = NO_VALUE,
default_target = "Cursor",
feature_setting = "mark_cursor",
- highlight_group = "CleverFCursor",
+ highlight_group = "CleverTeeCursor",
sampling = M.Sampling.LINK_EVALUATION,
},
hide_cursor_on_cmdline = {
@@ -91,9 +91,9 @@ local SCHEMA = {
mark_char_color = {
value_type = M.ValueType.OPTIONAL_GROUP_NAME,
default = NO_VALUE,
- default_target = "CleverFDefaultLabel",
+ default_target = "CleverTeeDefaultLabel",
feature_setting = "mark_char",
- highlight_group = "CleverFChar",
+ highlight_group = "CleverTeeChar",
sampling = M.Sampling.LINK_EVALUATION,
},
highlight_timeout_ms = {
@@ -114,9 +114,9 @@ local SCHEMA = {
mark_direct_color = {
value_type = M.ValueType.OPTIONAL_GROUP_NAME,
default = NO_VALUE,
- default_target = "CleverFDefaultLabel",
+ default_target = "CleverTeeDefaultLabel",
feature_setting = "mark_direct",
- highlight_group = "CleverFDirect",
+ highlight_group = "CleverTeeDirect",
sampling = M.Sampling.LINK_EVALUATION,
},
clean_labels_eagerly = {
diff --git a/lua/clever_f/repeat_resolver.lua b/lua/clever_tee/repeat_resolver.lua
index a5374d6..67d6617 100644
--- a/lua/clever_f/repeat_resolver.lua
+++ b/lua/clever_tee/repeat_resolver.lua
@@ -1,6 +1,6 @@
-local domain = require("clever_f.domain")
-local sequence_state = require("clever_f.sequence_state")
-local state_transitions = require("clever_f.state_transitions")
+local domain = require("clever_tee.domain")
+local sequence_state = require("clever_tee.sequence_state")
+local state_transitions = require("clever_tee.state_transitions")
local M = {}
local RepeatResolver = {}
@@ -81,7 +81,7 @@ local resolver_metatable = {
__tostring = function()
return "repeat-resolver"
end,
- __metatable = "clever_f.repeat_resolver.RepeatResolver",
+ __metatable = "clever_tee.repeat_resolver.RepeatResolver",
}
function RepeatResolver.new(options)
diff --git a/lua/clever_f/sequence_coordinator.lua b/lua/clever_tee/sequence_coordinator.lua
index d8cf7f0..1437d6c 100644
--- a/lua/clever_f/sequence_coordinator.lua
+++ b/lua/clever_tee/sequence_coordinator.lua
@@ -1,16 +1,16 @@
-local acquisition_service_factory = require("clever_f.acquisition_service")
-local case_policy = require("clever_f.case_policy")
-local direct_preview_planner = require("clever_f.direct_preview_planner")
-local domain = require("clever_f.domain")
-local feedback_service_factory = require("clever_f.feedback_service")
-local motion_executor_factory = require("clever_f.motion_executor")
-local motion_plan_factory = require("clever_f.motion_plan")
-local policy = require("clever_f.policy")
-local repeat_resolver_factory = require("clever_f.repeat_resolver")
-local sequence_state = require("clever_f.sequence_state")
-local state_transitions = require("clever_f.state_transitions")
-local target_plan_factory = require("clever_f.target_plan")
-local text_topology = require("clever_f.text_topology")
+local acquisition_service_factory = require("clever_tee.acquisition_service")
+local case_policy = require("clever_tee.case_policy")
+local direct_preview_planner = require("clever_tee.direct_preview_planner")
+local domain = require("clever_tee.domain")
+local feedback_service_factory = require("clever_tee.feedback_service")
+local motion_executor_factory = require("clever_tee.motion_executor")
+local motion_plan_factory = require("clever_tee.motion_plan")
+local policy = require("clever_tee.policy")
+local repeat_resolver_factory = require("clever_tee.repeat_resolver")
+local sequence_state = require("clever_tee.sequence_state")
+local state_transitions = require("clever_tee.state_transitions")
+local target_plan_factory = require("clever_tee.target_plan")
+local text_topology = require("clever_tee.text_topology")
local M = {}
local SequenceCoordinator = {}
@@ -33,7 +33,7 @@ end
function M.validate_primary_descriptor(value)
local descriptor = domain.Descriptor.try_from_string(value)
if descriptor == nil then
- error("clever-f: Invalid mapping '" .. descriptor_text(value) .. "'", 0)
+ error("clever-tee: Invalid mapping '" .. descriptor_text(value) .. "'", 0)
end
return descriptor
end
diff --git a/lua/clever_f/sequence_state.lua b/lua/clever_tee/sequence_state.lua
index e31752d..5c66a42 100644
--- a/lua/clever_f/sequence_state.lua
+++ b/lua/clever_tee/sequence_state.lua
@@ -1,4 +1,4 @@
-local domain = require("clever_f.domain")
+local domain = require("clever_tee.domain")
local M = {}
local State = {}
@@ -267,7 +267,7 @@ local state_metatable = {
__newindex = function()
fail("SequenceState is read-only; use StateTransitions", 2)
end,
- __metatable = "clever_f.sequence_state.State",
+ __metatable = "clever_tee.sequence_state.State",
}
state = setmetatable({}, state_metatable)
diff --git a/lua/clever_f/state_transitions.lua b/lua/clever_tee/state_transitions.lua
index 426bddb..377f04f 100644
--- a/lua/clever_f/state_transitions.lua
+++ b/lua/clever_tee/state_transitions.lua
@@ -1,5 +1,5 @@
-local domain = require("clever_f.domain")
-local sequence_state = require("clever_f.sequence_state")
+local domain = require("clever_tee.domain")
+local sequence_state = require("clever_tee.sequence_state")
local M = {}
local StateTransitions = {}
@@ -319,7 +319,7 @@ function StateTransitions:AddTargetOverlay(identity, window, anchor_line)
local resource = {
identity = identity,
window = window,
- group = "CleverFChar",
+ group = "CleverTeeChar",
anchor_line = anchor_line,
}
return self:_mutate(function(state)
@@ -356,9 +356,9 @@ function StateTransitions:AddTemporaryOverlay(identity, window, group)
end
require_identity(identity, "temporary overlay identity")
require_location(window, "temporary overlay window")
- group = group or "CleverFCursor"
- if group ~= "CleverFCursor" and group ~= "CleverFDirect" then
- fail("temporary overlay group must be CleverFCursor or CleverFDirect", 2)
+ group = group or "CleverTeeCursor"
+ if group ~= "CleverTeeCursor" and group ~= "CleverTeeDirect" then
+ fail("temporary overlay group must be CleverTeeCursor or CleverTeeDirect", 2)
end
local resource = {
identity = identity,
diff --git a/lua/clever_f/target_plan.lua b/lua/clever_tee/target_plan.lua
index 78d0b41..a6c2d68 100644
--- a/lua/clever_f/target_plan.lua
+++ b/lua/clever_tee/target_plan.lua
@@ -1,7 +1,7 @@
-local case_policy = require("clever_f.case_policy")
-local domain = require("clever_f.domain")
-local migemo_catalog = require("clever_f.migemo_catalog")
-local text_topology = require("clever_f.text_topology")
+local case_policy = require("clever_tee.case_policy")
+local domain = require("clever_tee.domain")
+local migemo_catalog = require("clever_tee.migemo_catalog")
+local text_topology = require("clever_tee.text_topology")
local M = {}
local TargetPlanFactory = {}
@@ -183,7 +183,7 @@ local factory_metatable = {
__tostring = function()
return "target-plan-factory"
end,
- __metatable = "clever_f.target_plan.TargetPlanFactory",
+ __metatable = "clever_tee.target_plan.TargetPlanFactory",
}
function TargetPlanFactory.new(options)
diff --git a/lua/clever_f/testing/memory_host.lua b/lua/clever_tee/testing/memory_host.lua
index 6147d2c..4479da7 100644
--- a/lua/clever_f/testing/memory_host.lua
+++ b/lua/clever_tee/testing/memory_host.lua
@@ -1,6 +1,6 @@
-local capabilities = require("clever_f.capabilities")
-local domain = require("clever_f.domain")
-local text_topology = require("clever_f.text_topology")
+local capabilities = require("clever_tee.capabilities")
+local domain = require("clever_tee.domain")
+local text_topology = require("clever_tee.text_topology")
local M = {}
local MemoryHost = {}
diff --git a/lua/clever_f/text_topology.lua b/lua/clever_tee/text_topology.lua
index db4ea3b..348af62 100644
--- a/lua/clever_f/text_topology.lua
+++ b/lua/clever_tee/text_topology.lua
@@ -1,4 +1,4 @@
-local domain = require("clever_f.domain")
+local domain = require("clever_tee.domain")
local M = {}
local TextView = {}
@@ -310,7 +310,7 @@ local text_view_metatable = {
local record = view_records[view]
return "text-view:" .. record.encoding .. ":" .. tostring(record.snapshot.line_count)
end,
- __metatable = "clever_f.text_topology.TextView",
+ __metatable = "clever_tee.text_topology.TextView",
}
function TextView.new(text, effective_encoding, options)
@@ -680,7 +680,7 @@ local bounds_metatable = {
end
return "match-start-bounds:" .. tostring(record.first) .. ":" .. tostring(record.last)
end,
- __metatable = "clever_f.text_topology.MatchStartBounds",
+ __metatable = "clever_tee.text_topology.MatchStartBounds",
}
local function new_bounds(scope, first_line, last_line, first, last)
diff --git a/plugin/clever_f.lua b/plugin/clever_f.lua
deleted file mode 100644
index 1a8cadd..0000000
--- a/plugin/clever_f.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-if vim.g.loaded_clever_f_lua then
- return
-end
-
-vim.g.loaded_clever_f_lua = 1
-require("clever_f").activate()
diff --git a/plugin/clever_tee.lua b/plugin/clever_tee.lua
new file mode 100644
index 0000000..1b0e845
--- /dev/null
+++ b/plugin/clever_tee.lua
@@ -0,0 +1,6 @@
+if vim.g.loaded_clever_tee_lua then
+ return
+end
+
+vim.g.loaded_clever_tee_lua = 1
+require("clever_tee").activate()
diff --git a/tests/conformance.lua b/tests/conformance.lua
index 7b044f1..89dfda2 100644
--- a/tests/conformance.lua
+++ b/tests/conformance.lua
@@ -6,11 +6,11 @@ package.path = table.concat({
package.path,
}, ";")
-local composition_root = require("clever_f.composition_root")
-local domain = require("clever_f.domain")
-local sequence_state = require("clever_f.sequence_state")
-local text_topology = require("clever_f.text_topology")
-local MemoryHost = require("clever_f.testing.memory_host")
+local composition_root = require("clever_tee.composition_root")
+local domain = require("clever_tee.domain")
+local sequence_state = require("clever_tee.sequence_state")
+local text_topology = require("clever_tee.text_topology")
+local MemoryHost = require("clever_tee.testing.memory_host")
local invariants = dofile(root .. "/tests/invariants.lua")
@@ -188,7 +188,7 @@ local function load_state(state, fixture_state, metadata)
data.temporary_overlays[#data.temporary_overlays + 1] = {
identity = identity,
window = item.window or "window-1",
- group = item.group or "CleverFDirect",
+ group = item.group or "CleverTeeDirect",
}
end
for _, identity in ipairs(fixture_state.finalizers) do
@@ -207,7 +207,7 @@ local function seed_highlight(host, identity, metadata)
local item = metadata[identity] or {}
local specification = {
identity = identity,
- group = item.group or "CleverFChar",
+ group = item.group or "CleverTeeChar",
window = item.window or "window-1",
priority = item.priority or "high",
anchor_line = item.anchor_line or 1,
diff --git a/tests/host_adapter_contract.lua b/tests/host_adapter_contract.lua
index 5d22a85..04d3ed7 100644
--- a/tests/host_adapter_contract.lua
+++ b/tests/host_adapter_contract.lua
@@ -6,10 +6,10 @@ package.path = table.concat({
package.path,
}, ";")
-local capabilities = require("clever_f.capabilities")
-local composition_root = require("clever_f.composition_root")
-local domain = require("clever_f.domain")
-local host_adapter = require("clever_f.host_adapter")
+local capabilities = require("clever_tee.capabilities")
+local composition_root = require("clever_tee.composition_root")
+local domain = require("clever_tee.domain")
+local host_adapter = require("clever_tee.host_adapter")
local assertions = dofile(root .. "/tests/assertions.lua")
local same = assertions.same
@@ -59,7 +59,7 @@ local packet = call("read_input")
same(domain.InputPacketKind.TEXT, packet.kind)
same("z", packet.text)
same(false, call("open_fold", domain.Position.new(1, 3)))
-call("show_prompt", "clever-f: ")
+call("show_prompt", "clever-tee: ")
call("redraw", "screen")
call("redraw", "full")
same(false, call("redraw", "suppressed"))
@@ -74,16 +74,16 @@ vim.notify = function(text, level, options)
end
call("emit_diagnostic", "info", "adapter contract")
same("adapter contract", notifications[1].text)
-same("clever-f", notifications[1].title)
+same("clever-tee", notifications[1].title)
-call("define_highlight_group", "CleverFContract", {
+call("define_highlight_group", "CleverTeeContract", {
guifg = "red",
guibg = "NONE",
gui = { bold = true },
}, { force = true })
-truthy(call("read_highlight_group", "CleverFContract") ~= nil)
+truthy(call("read_highlight_group", "CleverTeeContract") ~= nil)
local highlight = call("create_highlight", {
- group = "CleverFContract",
+ group = "CleverTeeContract",
window = call("read_window"),
positions = { domain.Position.new(1, 1), domain.Position.new(1, 3) },
priority = "high",
@@ -130,12 +130,12 @@ end)
local mapping = call(
"register_mapping",
{ "n" },
- "<Plug>(CleverFContract)",
+ "<Plug>(CleverTeeContract)",
"ContractNeutral",
{ silent = true, remap = false, preserve_count = true }
)
truthy(mapping ~= nil)
-local mapping_info = vim.fn.maparg("<Plug>(CleverFContract)", "n", false, true)
+local mapping_info = vim.fn.maparg("<Plug>(CleverTeeContract)", "n", false, true)
same(1, mapping_info.silent)
same(1, mapping_info.noremap)
@@ -152,7 +152,7 @@ end
local suppression_global = host_adapter.configuration_global(
"suppress_default_mappings"
)
-same("clever_f_not_overwrites_standard_mappings", suppression_global)
+same("clever_tee_not_overwrites_standard_mappings", suppression_global)
for _, value in ipairs({ false, 0 }) do
vim.g[suppression_global] = value
local suppressed = composition_root.new({
diff --git a/tests/invariants.lua b/tests/invariants.lua
index 1c17b69..b5b1251 100644
--- a/tests/invariants.lua
+++ b/tests/invariants.lua
@@ -1,7 +1,7 @@
local M = {}
-local domain = require("clever_f.domain")
-local text_topology = require("clever_f.text_topology")
+local domain = require("clever_tee.domain")
+local text_topology = require("clever_tee.text_topology")
local function same(expected, actual, message)
if expected ~= actual then
@@ -194,7 +194,7 @@ end
local function assert_temporary_ownership(options, after)
same(0, #after.temporary_overlays, "an action must release temporary overlay ownership")
for _, highlight in pairs(options.host:highlights()) do
- if highlight.group == "CleverFCursor" or highlight.group == "CleverFDirect" then
+ if highlight.group == "CleverTeeCursor" or highlight.group == "CleverTeeDirect" then
error("an action must release each temporary presentation resource", 3)
end
end
diff --git a/tests/phase16.lua b/tests/phase16.lua
index ef7d197..1ab5b90 100644
--- a/tests/phase16.lua
+++ b/tests/phase16.lua
@@ -6,12 +6,12 @@ package.path = table.concat({
package.path,
}, ";")
-local action_facade = require("clever_f.action_facade")
-local domain = require("clever_f.domain")
-local sequence_state = require("clever_f.sequence_state")
-local state_transitions = require("clever_f.state_transitions")
-local text_topology = require("clever_f.text_topology")
-local MemoryHost = require("clever_f.testing.memory_host")
+local action_facade = require("clever_tee.action_facade")
+local domain = require("clever_tee.domain")
+local sequence_state = require("clever_tee.sequence_state")
+local state_transitions = require("clever_tee.state_transitions")
+local text_topology = require("clever_tee.text_topology")
+local MemoryHost = require("clever_tee.testing.memory_host")
local assertions = dofile(root .. "/tests/assertions.lua")
local same = assertions.same
diff --git a/tests/plugin_conformance.lua b/tests/plugin_conformance.lua
index 90603a9..9f7a90b 100644
--- a/tests/plugin_conformance.lua
+++ b/tests/plugin_conformance.lua
@@ -2,20 +2,20 @@ local script = debug.getinfo(1, "S").source:sub(2)
local root = script:match("^(.*)/tests/plugin_conformance%.lua$") or "."
vim.opt.runtimepath:prepend(root)
-local domain = require("clever_f.domain")
+local domain = require("clever_tee.domain")
local assertions = dofile(root .. "/tests/assertions.lua")
local same = assertions.same
local truthy = assertions.truthy
-vim.g.clever_f_mark_cursor = 0
-vim.g.clever_f_mark_char = 0
-vim.g.clever_f_mark_direct = 0
-vim.g.clever_f_hide_cursor_on_cmdline = 0
-vim.g.clever_f_clean_labels_eagerly = 1
-vim.g.clever_f_highlight_timeout_ms = 0
-vim.cmd.runtime("plugin/clever_f.lua")
+vim.g.clever_tee_mark_cursor = 0
+vim.g.clever_tee_mark_char = 0
+vim.g.clever_tee_mark_direct = 0
+vim.g.clever_tee_hide_cursor_on_cmdline = 0
+vim.g.clever_tee_clean_labels_eagerly = 1
+vim.g.clever_tee_highlight_timeout_ms = 0
+vim.cmd.runtime("plugin/clever_tee.lua")
-local clever_f = require("clever_f")
+local clever_tee = require("clever_tee")
local checks = 0
local function check_same(expected, actual, message)
@@ -36,9 +36,9 @@ end
local function setup(lines, column)
feed("<Esc>")
- clever_f._diagnostic_full_reset()
- vim.g.clever_f_mark_char = 0
- vim.g.clever_f_highlight_timeout_ms = 0
+ clever_tee._diagnostic_full_reset()
+ vim.g.clever_tee_mark_char = 0
+ vim.g.clever_tee_highlight_timeout_ms = 0
vim.api.nvim_buf_set_lines(0, 0, -1, true, lines)
vim.api.nvim_win_set_cursor(0, { 1, (column or 1) - 1 })
end
@@ -70,7 +70,7 @@ for _, case in ipairs(select_cases) do
feed(case.prefix)
check_same(case.mode, vim.api.nvim_get_mode().mode, case.prefix)
vim.api.nvim_feedkeys("x", "n", false)
- local outcome = clever_f.StartFindForward()
+ local outcome = clever_tee.StartFindForward()
check_same(domain.ActionKind.MOVEMENT, outcome.kind, case.prefix)
check_same(1, vim.api.nvim_win_get_cursor(0)[2], case.prefix)
check_same(case.mode, vim.api.nvim_get_mode().mode, case.prefix)
@@ -109,7 +109,7 @@ feed("f<F1>")
check_same(0, vim.api.nvim_win_get_cursor(0)[2], "encoded special key")
check_same(
domain.TargetKind.SPECIAL_KEY.value,
- clever_f.state():get_previous_target("n").kind.value,
+ clever_tee.state():get_previous_target("n").kind.value,
"encoded special key target kind"
)
@@ -137,10 +137,10 @@ vim.o.foldopen = saved_foldopen
local function setup_feedback(timeout)
setup({ "ahahah" })
- vim.g.clever_f_mark_char = 1
- vim.g.clever_f_highlight_timeout_ms = timeout or 0
+ vim.g.clever_tee_mark_char = 1
+ vim.g.clever_tee_highlight_timeout_ms = timeout or 0
feed("fh")
- local state = clever_f.state():to_table()
+ local state = clever_tee.state():to_table()
check_same(1, #state.target_overlays, "target overlay created")
check_same(1, #state.finalizers, "finalizer created")
return state
@@ -149,27 +149,27 @@ end
setup_feedback()
vim.api.nvim_win_set_cursor(0, { 1, 2 })
vim.api.nvim_exec_autocmds("CursorMoved", { buffer = 0 })
-local finalized = clever_f.state():to_table()
+local finalized = clever_tee.state():to_table()
check_same(0, #finalized.target_overlays, "CursorMoved overlay cleanup")
check_same(0, #finalized.finalizers, "CursorMoved finalizer cleanup")
check_same(nil, finalized.contexts.n.previous_landing, "CursorMoved landing cleanup")
setup_feedback()
vim.api.nvim_exec_autocmds("InsertEnter", { buffer = 0 })
-finalized = clever_f.state():to_table()
+finalized = clever_tee.state():to_table()
check_same(0, #finalized.target_overlays, "InsertEnter overlay cleanup")
check_same(nil, finalized.contexts.n.previous_landing, "InsertEnter landing cleanup")
setup_feedback()
vim.api.nvim_exec_autocmds("TextChanged", { buffer = 0 })
-finalized = clever_f.state():to_table()
+finalized = clever_tee.state():to_table()
check_same(0, #finalized.target_overlays, "TextChanged overlay cleanup")
check_same(nil, finalized.contexts.n.previous_landing, "TextChanged landing cleanup")
for _, event in ipairs({ "WinEnter", "WinLeave", "CmdwinLeave" }) do
local before = setup_feedback()
vim.api.nvim_exec_autocmds(event, {})
- local eager = clever_f.state():to_table()
+ local eager = clever_tee.state():to_table()
check_same(0, #eager.target_overlays, event .. " overlay cleanup")
check_same(1, #eager.finalizers, event .. " finalizer retention")
check_same(
@@ -180,17 +180,17 @@ for _, event in ipairs({ "WinEnter", "WinLeave", "CmdwinLeave" }) do
end
setup_feedback(20)
-local timed_landing = clever_f.state():get_previous_landing("n")
+local timed_landing = clever_tee.state():get_previous_landing("n")
vim.wait(60)
-local timed = clever_f.state():to_table()
+local timed = clever_tee.state():to_table()
check_same(0, #timed.target_overlays, "timer overlay cleanup")
check_same(nil, timed.highlight_timer, "timer identity cleanup")
-check_same(timed_landing, clever_f.state():get_previous_landing("n"), "timer history retention")
+check_same(timed_landing, clever_tee.state():get_previous_landing("n"), "timer history retention")
feed("f")
-local restored = clever_f.state():to_table()
+local restored = clever_tee.state():to_table()
check_same(4, restored.contexts.n.previous_landing.byte_column, "repeat after timer cleanup")
check_same(1, #restored.target_overlays, "repeat restores target overlay")
check_truthy(restored.highlight_timer ~= nil, "repeat starts a replacement timer")
-clever_f._diagnostic_full_reset()
+clever_tee._diagnostic_full_reset()
io.stdout:write(string.format("Phase 16 plugin conformance: %d checks passed\n", checks))
diff --git a/tests/plugin_smoke.lua b/tests/plugin_smoke.lua
index 8a3cfc9..7e40627 100644
--- a/tests/plugin_smoke.lua
+++ b/tests/plugin_smoke.lua
@@ -11,18 +11,18 @@ local function feed(keys)
vim.cmd("redraw")
end
-vim.g.clever_f_mark_cursor = 0
-vim.g.clever_f_mark_char = 0
-vim.g.clever_f_mark_direct = 0
-vim.g.clever_f_hide_cursor_on_cmdline = 0
-vim.g.clever_f_clean_labels_eagerly = 0
+vim.g.clever_tee_mark_cursor = 0
+vim.g.clever_tee_mark_char = 0
+vim.g.clever_tee_mark_direct = 0
+vim.g.clever_tee_hide_cursor_on_cmdline = 0
+vim.g.clever_tee_clean_labels_eagerly = 0
vim.api.nvim_buf_set_lines(0, 0, -1, true, { "ababa" })
vim.api.nvim_win_set_cursor(0, { 1, 0 })
-vim.cmd.runtime("plugin/clever_f.lua")
-same(1, vim.g.loaded_clever_f_lua)
-local clever_f = require("clever_f")
-local first_root = clever_f.root()
+vim.cmd.runtime("plugin/clever_tee.lua")
+same(1, vim.g.loaded_clever_tee_lua)
+local clever_tee = require("clever_tee")
+local first_root = clever_tee.root()
truthy(first_root ~= nil)
for _, mode in ipairs({ "n", "x", "o" }) do
@@ -38,9 +38,9 @@ same(1, vim.api.nvim_win_get_cursor(0)[1])
same(3, vim.api.nvim_win_get_cursor(0)[2])
same(
4,
- clever_f.state():to_table().contexts.n.previous_landing.byte_column
+ clever_tee.state():to_table().contexts.n.previous_landing.byte_column
)
-clever_f.Reset()
+clever_tee.Reset()
vim.api.nvim_buf_set_lines(0, 0, -1, true, { "ababa" })
vim.api.nvim_win_set_cursor(0, { 1, 0 })
@@ -48,7 +48,7 @@ feed("vfb")
same("v", vim.api.nvim_get_mode().mode)
same(1, vim.api.nvim_win_get_cursor(0)[2])
feed("<Esc>")
-clever_f.Reset()
+clever_tee.Reset()
local saved_selection = vim.o.selection
vim.o.selection = "exclusive"
@@ -58,7 +58,7 @@ feed("dfe")
vim.wait(10)
same(" fuge piye poye", vim.api.nvim_get_current_line())
same("exclusive", vim.o.selection)
-clever_f.Reset()
+clever_tee.Reset()
vim.api.nvim_buf_set_lines(0, 0, -1, true, { "hoge fuge piye poye" })
vim.api.nvim_win_set_cursor(0, { 1, 0 })
@@ -66,14 +66,14 @@ feed("dte")
vim.wait(10)
same("e fuge piye poye", vim.api.nvim_get_current_line())
same("exclusive", vim.o.selection)
-clever_f.Reset()
+clever_tee.Reset()
vim.o.selection = saved_selection
vim.api.nvim_buf_set_lines(0, 0, -1, true, { "hoge fuge piye poye" })
vim.api.nvim_win_set_cursor(0, { 1, 0 })
feed("dfe")
same(" fuge piye poye", vim.api.nvim_get_current_line())
-truthy(clever_f.root():host():dot_repeat_payload() ~= nil)
+truthy(clever_tee.root():host():dot_repeat_payload() ~= nil)
feed(".")
same(" piye poye", vim.api.nvim_get_current_line())
feed(".")
@@ -81,16 +81,16 @@ same(" poye", vim.api.nvim_get_current_line())
feed(".")
same("", vim.api.nvim_get_current_line())
-local ok, diagnostic = pcall(clever_f.invoke_descriptor, "X")
+local ok, diagnostic = pcall(clever_tee.invoke_descriptor, "X")
same(false, ok)
-same("clever-f: Invalid mapping 'X'", diagnostic)
+same("clever-tee: Invalid mapping 'X'", diagnostic)
-vim.g.clever_f_mark_char = 1
-vim.g.clever_f_mark_char_color = "Search"
+vim.g.clever_tee_mark_char = 1
+vim.g.clever_tee_mark_char_color = "Search"
vim.api.nvim_exec_autocmds("ColorScheme", {})
same(
"Search",
- vim.api.nvim_get_hl(0, { name = "CleverFChar", link = true }).link
+ vim.api.nvim_get_hl(0, { name = "CleverTeeChar", link = true }).link
)
for _, name in ipairs({
@@ -102,12 +102,12 @@ for _, name in ipairs({
"RepeatSameDirection",
"RepeatOppositeDirection",
}) do
- same("function", type(clever_f[name]), name)
+ same("function", type(clever_tee[name]), name)
end
-same("function", type(clever_f.invoke_descriptor))
-same("function", type(clever_f._diagnostic_full_reset))
+same("function", type(clever_tee.invoke_descriptor))
+same("function", type(clever_tee._diagnostic_full_reset))
-vim.cmd.runtime("plugin/clever_f.lua")
-same(first_root, clever_f.root())
+vim.cmd.runtime("plugin/clever_tee.lua")
+same(first_root, clever_tee.root())
io.stdout:write("Phase 15 plugin smoke: startup, mappings, actions, and dot passed\n")
diff --git a/tests/profile.lua b/tests/profile.lua
index 5546d88..7bd9956 100644
--- a/tests/profile.lua
+++ b/tests/profile.lua
@@ -6,15 +6,15 @@ package.path = table.concat({
package.path,
}, ";")
-local destination_engine = require("clever_f.destination_engine")
-local direct_preview_planner = require("clever_f.direct_preview_planner")
-local domain = require("clever_f.domain")
-local migemo_catalog = require("clever_f.migemo_catalog")
-local motion_plan = require("clever_f.motion_plan")
-local sequence_state = require("clever_f.sequence_state")
-local state_transitions = require("clever_f.state_transitions")
-local target_plan = require("clever_f.target_plan")
-local text_topology = require("clever_f.text_topology")
+local destination_engine = require("clever_tee.destination_engine")
+local direct_preview_planner = require("clever_tee.direct_preview_planner")
+local domain = require("clever_tee.domain")
+local migemo_catalog = require("clever_tee.migemo_catalog")
+local motion_plan = require("clever_tee.motion_plan")
+local sequence_state = require("clever_tee.sequence_state")
+local state_transitions = require("clever_tee.state_transitions")
+local target_plan = require("clever_tee.target_plan")
+local text_topology = require("clever_tee.text_topology")
local assertions = dofile(root .. "/tests/assertions.lua")
local same = assertions.same
diff --git a/tests/run.lua b/tests/run.lua
index 069cc60..a4a3fdc 100644
--- a/tests/run.lua
+++ b/tests/run.lua
@@ -6,27 +6,27 @@ package.path = table.concat({
package.path,
}, ";")
-local domain = require("clever_f.domain")
-local action_facade = require("clever_f.action_facade")
-local acquisition_service = require("clever_f.acquisition_service")
-local capabilities = require("clever_f.capabilities")
-local composition_root = require("clever_f.composition_root")
-local destination_engine = require("clever_f.destination_engine")
-local direct_preview_planner = require("clever_f.direct_preview_planner")
-local feedback_service = require("clever_f.feedback_service")
-local host_adapter = require("clever_f.host_adapter")
-local case_policy = require("clever_f.case_policy")
-local policy = require("clever_f.policy")
-local repeat_resolver = require("clever_f.repeat_resolver")
-local migemo_catalog = require("clever_f.migemo_catalog")
-local motion_plan = require("clever_f.motion_plan")
-local motion_executor = require("clever_f.motion_executor")
-local sequence_coordinator = require("clever_f.sequence_coordinator")
-local sequence_state = require("clever_f.sequence_state")
-local state_transitions = require("clever_f.state_transitions")
-local text_topology = require("clever_f.text_topology")
-local target_plan = require("clever_f.target_plan")
-local MemoryHost = require("clever_f.testing.memory_host")
+local domain = require("clever_tee.domain")
+local action_facade = require("clever_tee.action_facade")
+local acquisition_service = require("clever_tee.acquisition_service")
+local capabilities = require("clever_tee.capabilities")
+local composition_root = require("clever_tee.composition_root")
+local destination_engine = require("clever_tee.destination_engine")
+local direct_preview_planner = require("clever_tee.direct_preview_planner")
+local feedback_service = require("clever_tee.feedback_service")
+local host_adapter = require("clever_tee.host_adapter")
+local case_policy = require("clever_tee.case_policy")
+local policy = require("clever_tee.policy")
+local repeat_resolver = require("clever_tee.repeat_resolver")
+local migemo_catalog = require("clever_tee.migemo_catalog")
+local motion_plan = require("clever_tee.motion_plan")
+local motion_executor = require("clever_tee.motion_executor")
+local sequence_coordinator = require("clever_tee.sequence_coordinator")
+local sequence_state = require("clever_tee.sequence_state")
+local state_transitions = require("clever_tee.state_transitions")
+local text_topology = require("clever_tee.text_topology")
+local target_plan = require("clever_tee.target_plan")
+local MemoryHost = require("clever_tee.testing.memory_host")
local assertions = dofile(root .. "/tests/assertions.lua")
local same = assertions.same
@@ -451,11 +451,11 @@ test("Host adapter bridges native dot to resolved payload replay", function()
end)
local dot = mappings["n\0."]
- local motion = mappings["o\0<Plug>(clever-f-dot-motion)"]
+ local motion = mappings["o\0<Plug>(clever-tee-dot-motion)"]
truthy(dot ~= nil)
truthy(motion ~= nil)
dot.callback()
- same("2d<Plug>(clever-f-dot-motion)", fed.keys)
+ same("2d<Plug>(clever-tee-dot-motion)", fed.keys)
same("n", fed.mode)
falsy(fed.escape_csi)
@@ -559,7 +559,7 @@ test("Host adapter owns Nvim timers and event registrations", function()
local runtime = {
api = {
nvim_create_augroup = function(name, options)
- same("clever_f", name)
+ same("clever_tee", name)
truthy(options.clear)
return 7
end,
@@ -692,7 +692,7 @@ test("Host adapter materializes window-local highlight resources", function()
{ guifg = "red" },
{ default = true }
))
- truthy(adapter:define_highlight_group("CleverFDefaultLabel", {
+ truthy(adapter:define_highlight_group("CleverTeeDefaultLabel", {
guifg = "red",
guibg = "NONE",
gui = { bold = true, underline = true },
@@ -700,20 +700,20 @@ test("Host adapter materializes window-local highlight resources", function()
ctermbg = "NONE",
cterm = { bold = true, underline = true },
}, { default = true }))
- same("red", groups.CleverFDefaultLabel.fg)
- same("NONE", groups.CleverFDefaultLabel.bg)
- truthy(groups.CleverFDefaultLabel.bold)
- truthy(groups.CleverFDefaultLabel.underline)
- truthy(groups.CleverFDefaultLabel.default)
+ same("red", groups.CleverTeeDefaultLabel.fg)
+ same("NONE", groups.CleverTeeDefaultLabel.bg)
+ truthy(groups.CleverTeeDefaultLabel.bold)
+ truthy(groups.CleverTeeDefaultLabel.underline)
+ truthy(groups.CleverTeeDefaultLabel.default)
local cursor = adapter:create_highlight({
- group = "CleverFCursor",
+ group = "CleverTeeCursor",
window = 42,
position = domain.Position.new(3, 5),
priority = "high",
})
local character = adapter:create_highlight({
- group = "CleverFChar",
+ group = "CleverTeeChar",
window = 51,
positions = {},
priority = "ordinary",
@@ -803,7 +803,7 @@ test("Host adapter translates typed action outcomes to Nvim effects", function()
same("diagnostic", effects[2].kind)
same("adapter error", effects[2].text)
same(4, effects[2].level)
- same("clever-f", effects[2].title)
+ same("clever-tee", effects[2].title)
end)
test("Capability contract reports every semantic method", function()
@@ -951,11 +951,11 @@ test("MemoryHost models movement, input, folds, and visible effects", function()
falsy(host:open_fold())
same(0, host:read_fold_state().closed_levels)
- host:show_prompt("clever-f: ")
+ host:show_prompt("clever-tee: ")
host:redraw("screen")
host:redraw("full")
host:emit_diagnostic("error", "problem")
- same("clever-f: ", host:prompts()[1])
+ same("clever-tee: ", host:prompts()[1])
list_same({ "screen", "full" }, host:redraws())
same("problem", host:diagnostics()[1].text)
end)
@@ -968,7 +968,7 @@ test("MemoryHost manages highlight and cursor-presentation resources", function(
}
local host = MemoryHost.new({ cursor_presentation = presentation })
local highlight = host:create_highlight({
- group = "CleverFChar",
+ group = "CleverTeeChar",
identity = "char-1",
position = domain.Position.new(1, 1),
priority = "high",
@@ -1068,8 +1068,8 @@ test("Policy schema contains every default and color target", function()
local schema = policy.schema()
same("Cursor", schema.mark_cursor_color.default_target)
- same("CleverFDefaultLabel", schema.mark_char_color.default_target)
- same("CleverFDefaultLabel", schema.mark_direct_color.default_target)
+ same("CleverTeeDefaultLabel", schema.mark_char_color.default_target)
+ same("CleverTeeDefaultLabel", schema.mark_direct_color.default_target)
same(policy.ValueType.OPTIONAL_GROUP_NAME, schema.mark_cursor_color.value_type)
same(policy.ValueType.PRESENCE,
schema[policy.DEFAULT_MAP_SUPPRESSION_SENTINEL].value_type)
@@ -1233,13 +1233,13 @@ test("Highlight policy is reevaluated with live feature and color values", funct
service:capture_activation()
local initial = service:evaluate_highlight_links()
- truthy(initial.CleverFCursor.enabled)
- same(nil, initial.CleverFCursor.configured_target)
- same("Cursor", initial.CleverFCursor.target)
- truthy(initial.CleverFChar.enabled)
- same("CleverFDefaultLabel", initial.CleverFChar.target)
- falsy(initial.CleverFDirect.enabled)
- same("CleverFDefaultLabel", initial.CleverFDirect.target)
+ truthy(initial.CleverTeeCursor.enabled)
+ same(nil, initial.CleverTeeCursor.configured_target)
+ same("Cursor", initial.CleverTeeCursor.target)
+ truthy(initial.CleverTeeChar.enabled)
+ same("CleverTeeDefaultLabel", initial.CleverTeeChar.target)
+ falsy(initial.CleverTeeDirect.enabled)
+ same("CleverTeeDefaultLabel", initial.CleverTeeDirect.target)
host:set_configuration("mark_cursor", false)
host:set_configuration("mark_cursor_color", "Search")
@@ -1249,12 +1249,12 @@ test("Highlight policy is reevaluated with live feature and color values", funct
host:set_configuration("mark_direct_color", "IncSearch")
local refreshed = service:evaluate_highlight_links()
- falsy(refreshed.CleverFCursor.enabled)
- same("Search", refreshed.CleverFCursor.target)
- falsy(refreshed.CleverFChar.enabled)
- same("ErrorMsg", refreshed.CleverFChar.target)
- truthy(refreshed.CleverFDirect.enabled)
- same("IncSearch", refreshed.CleverFDirect.target)
+ falsy(refreshed.CleverTeeCursor.enabled)
+ same("Search", refreshed.CleverTeeCursor.target)
+ falsy(refreshed.CleverTeeChar.enabled)
+ same("ErrorMsg", refreshed.CleverTeeChar.target)
+ truthy(refreshed.CleverTeeDirect.enabled)
+ same("IncSearch", refreshed.CleverTeeDirect.target)
end)
test("Case policy resolves an explicit mode for each target", function()
@@ -1457,8 +1457,8 @@ test("State resource updates retain host locations and timer identity", function
transitions:AddTargetOverlay("char-1", "window-1", 4)
transitions:AddTargetOverlay("char-1", "window-2", 8)
- transitions:AddTemporaryOverlay("cursor-1", "window-1", "CleverFCursor")
- transitions:AddTemporaryOverlay("direct-1", "window-2", "CleverFDirect")
+ transitions:AddTemporaryOverlay("cursor-1", "window-1", "CleverTeeCursor")
+ transitions:AddTemporaryOverlay("direct-1", "window-2", "CleverTeeDirect")
transitions:AddFinalizer("finalizer-1", "buffer-1")
transitions:AddFinalizer("finalizer-1", "buffer-2")
@@ -1466,7 +1466,7 @@ test("State resource updates retain host locations and timer identity", function
same("window-1", resources.target_overlays[1].window)
same(4, resources.target_overlays[1].anchor_line)
same("window-2", resources.target_overlays[2].window)
- same("CleverFDirect", resources.temporary_overlays[2].group)
+ same("CleverTeeDirect", resources.temporary_overlays[2].group)
same("buffer-1", resources.finalizers[1].buffer)
same("buffer-2", resources.finalizers[2].buffer)
@@ -1531,7 +1531,7 @@ test("PublicReset applies its exact clear and retain sets", function()
transitions:SetHighlightTimer("timer-1")
transitions:AddTargetOverlay("char-1", "window-1", 1)
transitions:AddTargetOverlay("char-2", "window-2", 2)
- transitions:AddTemporaryOverlay("cursor-1", "window-1", "CleverFCursor")
+ transitions:AddTemporaryOverlay("cursor-1", "window-1", "CleverTeeCursor")
transitions:AddFinalizer("finalizer-1", "buffer-1")
local input_context = state.last_input_context
@@ -1579,7 +1579,7 @@ test("FullFinalization clears feedback and direction while retaining history", f
transitions:SetHighlightTimer("timer-finalize")
transitions:AddTargetOverlay("char-current", "window-1", 1)
transitions:AddTargetOverlay("char-peer", "window-2", 2)
- transitions:AddTemporaryOverlay("direct-current", "window-1", "CleverFDirect")
+ transitions:AddTemporaryOverlay("direct-current", "window-1", "CleverTeeDirect")
transitions:AddFinalizer("finalizer-a", "buffer-1")
transitions:AddFinalizer("finalizer-b", "buffer-2")
@@ -1621,7 +1621,7 @@ test("DiagnosticFullReset adds only its diagnostic clear set", function()
transitions:CacheMigemo("cp932", { dictionary = "cp932" })
transitions:SetHighlightTimer("timer-diagnostic")
transitions:AddTargetOverlay("char-diagnostic", "window-3", 4)
- transitions:AddTemporaryOverlay("cursor-diagnostic", "window-3", "CleverFCursor")
+ transitions:AddTemporaryOverlay("cursor-diagnostic", "window-3", "CleverTeeCursor")
transitions:AddFinalizer("finalizer-diagnostic", "buffer-3")
local cleanup = transitions:DiagnosticFullReset()
@@ -2347,17 +2347,17 @@ test("Bundled Migemo assets equal the normative source data", function()
{
encoding = "utf-8",
file = "utf8.vim",
- hash = "fccd16452c105fcb7303d855b96d841f8174d37affa0c43d8b49a54e68289f3e",
+ hash = "18b0e6cd454b4ec3c2b16d886b2e02eeae29e2c4a83746011d2f693e581e293b",
},
{
encoding = "cp932",
file = "cp932.vim",
- hash = "3823fda790f43876be78d53e116187f2e0eedc14d203756ea66a3814ca9707f1",
+ hash = "ab02f0405dea08dd693138fbdf322e618f28d7bdb4c1d38ec4abf80e1c8730b5",
},
{
encoding = "euc-jp",
file = "eucjp.vim",
- hash = "d6d7a2a795d7e3e14cdefd0cf2597bc48bd3d89dbdc41019f460027377855079",
+ hash = "fd6fa831a5636dad71f70447b57be99705c54b7d50109a61e2569944722b7362",
},
}
@@ -2598,7 +2598,7 @@ test("Unsupported Migemo encoding disables live policy and raises exactly", func
falsy(ok)
same(
- "clever-f: Encoding 'latin1' is not supported. Migemo is disabled",
+ "clever-tee: Encoding 'latin1' is not supported. Migemo is disabled",
diagnostic
)
falsy(service:get_boolean("use_migemo"))
@@ -4727,7 +4727,7 @@ test("Default label evaluation preserves a colorscheme definition", function()
}
local host = MemoryHost.new({
highlight_groups = {
- CleverFDefaultLabel = supplied,
+ CleverTeeDefaultLabel = supplied,
},
})
local feedback = feedback_service.new(host)
@@ -4737,7 +4737,7 @@ test("Default label evaluation preserves a colorscheme definition", function()
falsy(result.applied)
same("blue", result.definition.guifg)
truthy(result.definition.gui.italic)
- same("blue", host:highlight_groups().CleverFDefaultLabel.guifg)
+ same("blue", host:highlight_groups().CleverTeeDefaultLabel.guifg)
local operations = host:operations()
same(1, #operations)
@@ -4751,7 +4751,7 @@ test("Default label evaluation defines the fallback when absent", function()
local result = feedback:ensure_default_label()
same("fallback", result.source)
truthy(result.applied)
- local definition = host:highlight_groups().CleverFDefaultLabel
+ local definition = host:highlight_groups().CleverTeeDefaultLabel
same("red", definition.guifg)
same("NONE", definition.guibg)
truthy(definition.gui.bold)
@@ -4774,20 +4774,20 @@ test("Explicit color configuration forces its feature link", function()
mark_cursor_color = "Search",
},
highlight_groups = {
- CleverFCursor = { guifg = "blue" },
+ CleverTeeCursor = { guifg = "blue" },
},
})
local feedback = feedback_service.new(host)
local results = feedback:evaluate_feature_links()
- same("configured", results.CleverFCursor.source)
- same("Search", results.CleverFCursor.target)
- same("Search", host:highlight_groups().CleverFCursor.link)
+ same("configured", results.CleverTeeCursor.source)
+ same("Search", results.CleverTeeCursor.target)
+ same("Search", host:highlight_groups().CleverTeeCursor.link)
local definition
for _, operation in ipairs(host:operations()) do
if operation.operation == "define_highlight_group"
- and operation.name == "CleverFCursor"
+ and operation.name == "CleverTeeCursor"
then
definition = operation
end
@@ -4796,28 +4796,28 @@ test("Explicit color configuration forces its feature link", function()
truthy(definition.options.force)
end)
-test("Feature link evaluation preserves colorscheme CleverF groups", function()
+test("Feature link evaluation preserves colorscheme CleverTee groups", function()
local custom = {
guifg = "magenta",
gui = { reverse = true },
}
local host = MemoryHost.new({
highlight_groups = {
- CleverFChar = custom,
+ CleverTeeChar = custom,
},
})
local feedback = feedback_service.new(host)
local results = feedback:evaluate_feature_links()
- same("colorscheme", results.CleverFChar.source)
- falsy(results.CleverFChar.applied)
- same("magenta", results.CleverFChar.definition.guifg)
- truthy(results.CleverFChar.definition.gui.reverse)
- same("magenta", host:highlight_groups().CleverFChar.guifg)
+ same("colorscheme", results.CleverTeeChar.source)
+ falsy(results.CleverTeeChar.applied)
+ same("magenta", results.CleverTeeChar.definition.guifg)
+ truthy(results.CleverTeeChar.definition.gui.reverse)
+ same("magenta", host:highlight_groups().CleverTeeChar.guifg)
for _, operation in ipairs(host:operations()) do
if operation.operation == "define_highlight_group" then
- falsy(operation.name == "CleverFChar")
+ falsy(operation.name == "CleverTeeChar")
end
end
end)
@@ -4827,15 +4827,15 @@ test("Missing feature groups receive fallback links", function()
local feedback = feedback_service.new(host)
local results = feedback:evaluate_feature_links()
- same("fallback", results.CleverFCursor.source)
- truthy(results.CleverFCursor.applied)
+ same("fallback", results.CleverTeeCursor.source)
+ truthy(results.CleverTeeCursor.applied)
local groups = host:highlight_groups()
- same(results.CleverFCursor.target, groups.CleverFCursor.link)
+ same(results.CleverTeeCursor.target, groups.CleverTeeCursor.link)
local fallback_definition
for _, operation in ipairs(host:operations()) do
if operation.operation == "define_highlight_group"
- and operation.name == "CleverFCursor"
+ and operation.name == "CleverTeeCursor"
then
fallback_definition = operation
end
@@ -4850,8 +4850,8 @@ test("Cursor feedback falls back to the Cursor group", function()
local feedback = feedback_service.new(host)
local results = feedback:evaluate_feature_links()
- same("Cursor", results.CleverFCursor.target)
- same("Cursor", host:highlight_groups().CleverFCursor.link)
+ same("Cursor", results.CleverTeeCursor.target)
+ same("Cursor", host:highlight_groups().CleverTeeCursor.link)
end)
test("Character and direct feedback fall back to the default label", function()
@@ -4862,9 +4862,9 @@ test("Character and direct feedback fall back to the default label", function()
local results = feedback:evaluate_feature_links()
local groups = host:highlight_groups()
- for _, group in ipairs({ "CleverFChar", "CleverFDirect" }) do
- same("CleverFDefaultLabel", results[group].target)
- same("CleverFDefaultLabel", groups[group].link)
+ for _, group in ipairs({ "CleverTeeChar", "CleverTeeDirect" }) do
+ same("CleverTeeDefaultLabel", results[group].target)
+ same("CleverTeeDefaultLabel", groups[group].link)
end
end)
@@ -4879,9 +4879,9 @@ test("Feature links are evaluated only while their features are enabled", functi
mark_direct_color = "ErrorMsg",
},
highlight_groups = {
- CleverFCursor = { guifg = "one" },
- CleverFChar = { guifg = "two" },
- CleverFDirect = { guifg = "three" },
+ CleverTeeCursor = { guifg = "one" },
+ CleverTeeChar = { guifg = "two" },
+ CleverTeeDirect = { guifg = "three" },
},
})
local feedback = feedback_service.new(host)
@@ -4889,9 +4889,9 @@ test("Feature links are evaluated only while their features are enabled", functi
local results = feedback:evaluate_feature_links()
same(0, map_size(results))
local groups = host:highlight_groups()
- same("one", groups.CleverFCursor.guifg)
- same("two", groups.CleverFChar.guifg)
- same("three", groups.CleverFDirect.guifg)
+ same("one", groups.CleverTeeCursor.guifg)
+ same("two", groups.CleverTeeChar.guifg)
+ same("three", groups.CleverTeeDirect.guifg)
for _, operation in ipairs(host:operations()) do
falsy(operation.operation == "define_highlight_group")
falsy(operation.operation == "read_highlight_group")
@@ -4901,11 +4901,11 @@ end)
test("Cursor and character overlays use high priority", function()
same(
feedback_service.Priority.HIGH,
- feedback_service.overlay_priority("CleverFCursor")
+ feedback_service.overlay_priority("CleverTeeCursor")
)
same(
feedback_service.Priority.HIGH,
- feedback_service.overlay_priority("CleverFChar")
+ feedback_service.overlay_priority("CleverTeeChar")
)
fails(function()
feedback_service.overlay_priority("Other")
@@ -4915,7 +4915,7 @@ end)
test("Direct overlays use ordinary priority", function()
same(
feedback_service.Priority.ORDINARY,
- feedback_service.overlay_priority("CleverFDirect")
+ feedback_service.overlay_priority("CleverTeeDirect")
)
end)
@@ -4933,7 +4933,7 @@ test("Cursor marker overlays the exact cursor byte position", function()
local marker = feedback:create_cursor_marker(cursor, "window-1")
local highlight = host:highlights()[marker.identity]
- same("CleverFCursor", highlight.group)
+ same("CleverTeeCursor", highlight.group)
same("window-1", highlight.window)
same(domain.Position.new(1, 5), highlight.position)
same(feedback_service.Priority.HIGH, highlight.priority)
@@ -5326,7 +5326,7 @@ test("Feedback creates one ordinary direct marker set", function()
local marker = feedback:create_direct_markers(positions, "window-1")
local highlight = host:highlights()[marker.identity]
- same("CleverFDirect", highlight.group)
+ same("CleverTeeDirect", highlight.group)
same(feedback_service.Priority.ORDINARY, highlight.priority)
same(3, #highlight.positions)
for index = 1, #positions do
@@ -5340,8 +5340,8 @@ test("Feedback creates one ordinary direct marker set", function()
local evaluation = feedback:evaluate_highlights()
same("fallback", evaluation.default_label.source)
same(
- "CleverFDefaultLabel",
- evaluation.feature_links.CleverFDirect.target
+ "CleverTeeDefaultLabel",
+ evaluation.feature_links.CleverTeeDirect.target
)
end)
@@ -5487,7 +5487,7 @@ test("Interactive acquisition creates enabled direct previews", function()
service:acquire("t", "n", host:read_cursor(), host:read_count(), nil)
local marker = service:last_temporary_scope().direct_marker
truthy(marker ~= nil)
- same("CleverFDirect", marker.group)
+ same("CleverTeeDirect", marker.group)
same(1, #marker.positions)
same(domain.Position.new(1, 4), marker.positions[1])
same(0, #state:temporary_overlay_identities())
@@ -5538,8 +5538,8 @@ test("Acquisition emits the exact enabled prompt", function()
nil,
nil
)
- same("clever-f: ", acquisition_service.PROMPT)
- list_same({ "clever-f: " }, host:prompts())
+ same("clever-tee: ", acquisition_service.PROMPT)
+ list_same({ "clever-tee: " }, host:prompts())
list_same({ "full" }, host:redraws())
fresh_sequence_state()
@@ -6477,7 +6477,7 @@ test("Persistent matches share one high-priority character overlay", function()
})
local highlight = host:highlights()[persistent.identity]
- same("CleverFChar", highlight.group)
+ same("CleverTeeChar", highlight.group)
same(feedback_service.Priority.HIGH, highlight.priority)
same(shared_target, highlight.target_plan)
same(3, #highlight.positions)
@@ -6567,7 +6567,7 @@ test("Persistent feedback stores overlay identity and anchor", function()
same(persistent.identity, resource.identity)
same("window-anchor", resource.window)
- same("CleverFChar", resource.group)
+ same("CleverTeeChar", resource.group)
same(2, persistent.anchor_line)
same(2, host:highlights()[persistent.identity].anchor_line)
same(2, resource.anchor_line)
@@ -6782,7 +6782,7 @@ test("Full finalization removes owned registrations and window overlays", functi
window = "window-1",
})
local peer = host:create_highlight({
- group = "CleverFChar",
+ group = "CleverTeeChar",
window = "window-2",
positions = {},
priority = feedback_service.Priority.HIGH,
@@ -7629,10 +7629,10 @@ test("Core activation evaluates default and enabled feature highlights", functio
local groups = host:highlight_groups()
same("fallback", activation.highlights.default_label.source)
- same("red", groups.CleverFDefaultLabel.guifg)
- same("Cursor", groups.CleverFCursor.link)
- same(nil, groups.CleverFChar)
- same("CleverFDefaultLabel", groups.CleverFDirect.link)
+ same("red", groups.CleverTeeDefaultLabel.guifg)
+ same("Cursor", groups.CleverTeeCursor.link)
+ same(nil, groups.CleverTeeChar)
+ same("CleverTeeDefaultLabel", groups.CleverTeeDirect.link)
end)
test("Core activation refreshes highlights after colorscheme changes", function()
@@ -7653,8 +7653,8 @@ test("Core activation refreshes highlights after colorscheme changes", function(
local refresh = root:last_highlight_refresh()
truthy(refresh ~= nil)
- same("configured", refresh.feature_links.CleverFChar.source)
- same("Search", host:highlight_groups().CleverFChar.link)
+ same("configured", refresh.feature_links.CleverTeeChar.source)
+ same("Search", host:highlight_groups().CleverTeeChar.link)
end)
test("Core activation installs sampled eager window hooks", function()
@@ -7797,7 +7797,7 @@ test("Primary coordination accepts only the four motion descriptors", function()
end
fails(function()
coordinator:primary("x")
- end, "clever-f: Invalid mapping 'x'")
+ end, "clever-tee: Invalid mapping 'x'")
end)
test("Primary coordination reads normalized invocation state", function()
@@ -8083,7 +8083,7 @@ test("Expired primary repetition resets resources and reacquires pressed key", f
transitions:CommitAcquiredTarget("n", old_target, 100)
transitions:CommitCommandSuccess("n", landing, true)
local overlay = host:create_highlight({
- group = "CleverFChar",
+ group = "CleverTeeChar",
window = "window-1",
positions = { landing },
})
@@ -8466,7 +8466,7 @@ test("Free-form action adapter raises the exact invalid mapping error", function
end)
falsy(ok)
- same("clever-f: Invalid mapping 'X'", diagnostic)
+ same("clever-tee: Invalid mapping 'X'", diagnostic)
end)
test("ActionFacade returns typed primary action outcomes", function()
@@ -8489,7 +8489,7 @@ test("ActionFacade returns typed primary action outcomes", function()
same(domain.Position.new(1, 2), outcome.position)
fails(function()
facade:primary("x")
- end, "clever-f: Invalid mapping 'x'")
+ end, "clever-tee: Invalid mapping 'x'")
end)
test("ActionFacade Reset applies public cleanup and returns neutral", function()
@@ -8504,7 +8504,7 @@ test("ActionFacade Reset applies public cleanup and returns neutral", function()
transitions:CommitAcquiredTarget("n", target_value, 25)
transitions:CommitCommandSuccess("n", landing, true)
local overlay = host:create_highlight({
- group = "CleverFChar",
+ group = "CleverTeeChar",
window = "window-1",
positions = { landing },
})