@@ -5,12 +5,15 @@ local TextTransform = {}
55--- Default values:
66--- @eval return MiniDoc.afterlines_to_code(MiniDoc.current.eval_section)
77TextTransform .options = {
8- -- Prints useful logs about what event are triggered, and reasons actions are executed.
9- debug = false ,
10- -- Keymap to trigger the transform.
11- keymap = {
12- " <Leader>~" ,
13- },
8+ -- Prints useful logs about what event are triggered, and reasons actions are executed.
9+ debug = false ,
10+ -- Keymap to trigger the transform.
11+ keymap = {
12+ -- Normal mode keymap.
13+ [" n" ] = " <Leader>~" ,
14+ -- Visual mode keymap.
15+ [" v" ] = " <Leader>~" ,
16+ },
1417}
1518
1619--- Define your text-transform setup.
@@ -19,22 +22,40 @@ TextTransform.options = {
1922---
2023--- @usage `require("text-transform").setup()` (add `{}` with your |TextTransform.options| table)
2124function TextTransform .setup (options )
22- options = options or {}
23-
24- TextTransform .options = vim .tbl_deep_extend (" keep" , options , TextTransform .options )
25- -- use input from current word in editor
26- vim .cmd (" amenu Transforms.&camelCase :lua ReplaceCurrentWord(CamelCase)<CR>" )
27- vim .cmd (" amenu Transforms.&snake_case :lua ReplaceCurrentWord(SnakeCase)<CR>" )
28- vim .cmd (" amenu Transforms.&PascalCase :lua ReplaceCurrentWord(PascalCase)<CR>" )
29- vim .cmd (" amenu Transforms.&kebab-case :lua ReplaceCurrentWord(KebabCase)<CR>" )
30- vim .cmd (" amenu Transforms.&dot\\ .case :lua ReplaceCurrentWord(DotCase)<CR>" )
31- vim .cmd (" amenu Transforms.&Title\\ Case :lua ReplaceCurrentWord(TitleCase)<CR>" )
32-
33- for kmap in TextTransform .options .keymap do
34- vim .keymap .set ({ " n" , " v" }, kmap , " <cmd>popup Transforms<CR>" , { silent = true })
35- end
36-
37- return TextTransform .options
25+ options = options or {}
26+
27+ TextTransform .options = vim .tbl_deep_extend (" keep" , options , TextTransform .options )
28+
29+ -- use input from current word in editor
30+ vim .cmd (" amenu TransformsSelection.&camelCase :lua ReplaceCurrentSelection(CamelCase)<CR>" )
31+ vim .cmd (" amenu TransformsSelection.&snake_case :lua ReplaceCurrentSelection(SnakeCase)<CR>" )
32+ vim .cmd (" amenu TransformsSelection.&PascalCase :lua ReplaceCurrentSelection(PascalCase)<CR>" )
33+ vim .cmd (" amenu TransformsSelection.&kebab-case :lua ReplaceCurrentSelection(KebabCase)<CR>" )
34+ vim .cmd (" amenu TransformsSelection.&dot\\ .case :lua ReplaceCurrentSelection(DotCase)<CR>" )
35+ vim .cmd (" amenu TransformsSelection.&Title\\ Case :lua ReplaceCurrentSelection(TitleCase)<CR>" )
36+
37+ -- use input from current word in editor
38+ vim .cmd (" amenu TransformsWord.&camelCase :lua ReplaceCurrentWord(CamelCase)<CR>" )
39+ vim .cmd (" amenu TransformsWord.&snake_case :lua ReplaceCurrentWord(SnakeCase)<CR>" )
40+ vim .cmd (" amenu TransformsWord.&PascalCase :lua ReplaceCurrentWord(PascalCase)<CR>" )
41+ vim .cmd (" amenu TransformsWord.&kebab-case :lua ReplaceCurrentWord(KebabCase)<CR>" )
42+ vim .cmd (" amenu TransformsWord.&dot\\ .case :lua ReplaceCurrentWord(DotCase)<CR>" )
43+ vim .cmd (" amenu TransformsWord.&Title\\ Case :lua ReplaceCurrentWord(TitleCase)<CR>" )
44+
45+ vim .keymap .set (
46+ " n" ,
47+ TextTransform .options .keymap .n ,
48+ " <cmd>popup TransformsWord<CR>" ,
49+ { silent = true }
50+ )
51+ vim .keymap .set (
52+ " v" ,
53+ TextTransform .options .keymap .v ,
54+ " <cmd>popup TransformsSelection<CR>" ,
55+ { silent = true }
56+ )
57+
58+ return TextTransform .options
3859end
3960
4061return TextTransform
0 commit comments