mirror of
https://github.com/neovim/neovim.git
synced 2026-08-31 03:13:48 +00:00
feat(lua): vim.text.indent()
Problem: Indenting text is a common task in plugins/scripts for presentation/formatting, yet vim has no way of doing it (especially "dedent", and especially non-buffer text). Solution: Introduce `vim.text.indent()`. It sets the *exact* indentation because that's a more difficult (and thus more useful) task than merely "increasing the current indent" (which is somewhat easy with a `gsub()` one-liner).
This commit is contained in:
@@ -95,8 +95,7 @@ describe('Diff mode screen with 3 diffs open', function()
|
||||
{7: }{8: 9 }{4: BBB }│{7: }{8: 9 }{4: BBB }│{7: }{8: }{23:---------------------------}|
|
||||
{7: }{8: 10 }{4: BBB }│{7: }{8: 10 }{4: BBB }│{7: }{8: }{23:---------------------------}|
|
||||
{7: }{8: 11 }{4:>>>>>>> branch1 }│{7: }{8: 11 }{4:>>>>>>> branch1 }│{7: }{8: }{23:---------------------------}|
|
||||
{7: }{8: 12 } │{7: }{8: 12 } │{7: }{8: 6 } |
|
||||
{1:~ }│{1:~ }│{1:~ }|*2
|
||||
{1:~ }│{1:~ }│{1:~ }|*3
|
||||
{3:<-functional-diff-screen-1.3 [+] }{2:<est-functional-diff-screen-1.2 Xtest-functional-diff-screen-1 }|
|
||||
:2,6diffget screen-1.2 |
|
||||
]])
|
||||
@@ -114,8 +113,7 @@ describe('Diff mode screen with 3 diffs open', function()
|
||||
{7: }{8: 4 }{4: }{27:BBB}{4: }│{7: }{8: 6 }{4: }{27:BBB}{4: }│{7: }{8: 4 }{4: }{27:AAA}{4: }|
|
||||
{7: }{8: 5 }{4: }{27:BBB}{4: }│{7: }{8: 7 }{4: }{27:BBB}{4: }│{7: }{8: 5 }{4: }{27:AAA}{4: }|
|
||||
{7: }{8: }{23:---------------------------}│{7: }{8: 8 }{22:>>>>>>> branch1 }│{7: }{8: }{23:---------------------------}|
|
||||
{7: }{8: 6 } │{7: }{8: 9 } │{7: }{8: 6 } |
|
||||
{1:~ }│{1:~ }│{1:~ }|*5
|
||||
{1:~ }│{1:~ }│{1:~ }|*6
|
||||
{2:<test-functional-diff-screen-1.3 }{3:<functional-diff-screen-1.2 [+] }{2:Xtest-functional-diff-screen-1 }|
|
||||
:5,7diffget screen-1.3 |
|
||||
]])
|
||||
@@ -136,8 +134,7 @@ describe('Diff mode screen with 3 diffs open', function()
|
||||
{7: }{8: 4 } BBB │{7: }{8: 9 } BBB │{7: }{8: 8 } BBB |
|
||||
{7: }{8: 5 } BBB │{7: }{8: 10 } BBB │{7: }{8: 9 } BBB |
|
||||
{7: }{8: }{23:---------------------------}│{7: }{8: 11 }{4:>>>>>>> branch1 }│{7: }{8: 10 }{4:>>>>>>> branch1 }|
|
||||
{7: }{8: 6 } │{7: }{8: 12 } │{7: }{8: 11 } |
|
||||
{1:~ }│{1:~ }│{1:~ }|*2
|
||||
{1:~ }│{1:~ }│{1:~ }|*3
|
||||
{2:<test-functional-diff-screen-1.3 <est-functional-diff-screen-1.2 }{3:<st-functional-diff-screen-1 [+] }|
|
||||
:5,6diffget screen-1.2 |
|
||||
]])
|
||||
@@ -158,8 +155,7 @@ describe('Diff mode screen with 3 diffs open', function()
|
||||
{7: }{8: 4 }{4: BBB }│{7: }{8: 9 }{4: BBB }│{7: }{8: }{23:---------------------------}|
|
||||
{7: }{8: 5 } BBB │{7: }{8: 10 } BBB │{7: }{8: 7 } BBB |
|
||||
{7: }{8: }{23:---------------------------}│{7: }{8: 11 }{22:>>>>>>> branch1 }│{7: }{8: }{23:---------------------------}|
|
||||
{7: }{8: 6 } │{7: }{8: 12 } │{7: }{8: 8 } |
|
||||
{1:~ }│{1:~ }│{1:~ }|*2
|
||||
{1:~ }│{1:~ }│{1:~ }|*3
|
||||
{2:<test-functional-diff-screen-1.3 }{3:<est-functional-diff-screen-1.2 }{2:<st-functional-diff-screen-1 [+] }|
|
||||
:6,8diffput screen-1 |
|
||||
]])
|
||||
@@ -179,8 +175,7 @@ describe('Diff mode screen with 3 diffs open', function()
|
||||
{7: }{8: 4 } BBB │{7: }{8: 9 } BBB │{7: }{8: 8 } BBB |
|
||||
{7: }{8: 5 } BBB │{7: }{8: 10 } BBB │{7: }{8: 9 } BBB |
|
||||
{7: }{8: }{23:---------------------------}│{7: }{8: 11 }{4:>>>>>>> branch1 }│{7: }{8: 10 }{4:>>>>>>> branch1 }|
|
||||
{7: }{8: 6 } │{7: }{8: 12 } │{7: }{8: 11 } |
|
||||
{1:~ }│{1:~ }│{1:~ }|*2
|
||||
{1:~ }│{1:~ }│{1:~ }|*3
|
||||
{2:<test-functional-diff-screen-1.3 }{3:<est-functional-diff-screen-1.2 }{2:<st-functional-diff-screen-1 [+] }|
|
||||
:6,11diffput screen-1 |
|
||||
]])
|
||||
@@ -276,8 +271,7 @@ something
|
||||
{7: }{8: 14 }common line │{7: }{8: 15 }common line |
|
||||
{7: }{8: }{23:-------------------------------------------}│{7: }{8: 16 }{22:DEF }|
|
||||
{7: }{8: 15 }something │{7: }{8: 17 }something |
|
||||
{7: }{8: 16 } │{7: }{8: 18 } |
|
||||
{1:~ }│{1:~ }|*6
|
||||
{1:~ }│{1:~ }|*7
|
||||
{3:Xtest-functional-diff-screen-1.2 [+] }{2:Xtest-functional-diff-screen-1 }|
|
||||
:5,9diffget |
|
||||
]])
|
||||
@@ -300,8 +294,7 @@ something
|
||||
{7: }{8: 11 }common line │{7: }{8: 12 }common line |
|
||||
{7: }{8: }{23:-------------------------------------------}│{7: }{8: 13 }{22:DEF }|
|
||||
{7: }{8: 12 }something │{7: }{8: 14 }something |
|
||||
{7: }{8: 13 } │{7: }{8: 15 } |
|
||||
{1:~ }│{1:~ }|*3
|
||||
{1:~ }│{1:~ }|*4
|
||||
{2:Xtest-functional-diff-screen-1.2 }{3:Xtest-functional-diff-screen-1 [+] }|
|
||||
:5,10diffget |
|
||||
]])
|
||||
@@ -322,8 +315,7 @@ something
|
||||
{7: }{8: 10 }common line │{7: }{8: 10 }common line |
|
||||
{7: }{8: 11 }common line │{7: }{8: 11 }common line |
|
||||
{7: }{8: 12 }something │{7: }{8: 12 }something |
|
||||
{7: }{8: 13 } │{7: }{8: 13 } |
|
||||
{1:~ }│{1:~ }|*5
|
||||
{1:~ }│{1:~ }|*6
|
||||
{2:Xtest-functional-diff-screen-1.2 }{3:Xtest-functional-diff-screen-1 [+] }|
|
||||
:4,17diffget |
|
||||
]])
|
||||
@@ -349,7 +341,7 @@ something
|
||||
{7: }{8: 15 }common line │{7: }{8: 15 }common line |
|
||||
{7: }{8: 16 }DEF │{7: }{8: 16 }DEF |
|
||||
{7: }{8: 17 }something │{7: }{8: 17 }something |
|
||||
{7: }{8: 18 } │{7: }{8: 18 } |
|
||||
{1:~ }│{1:~ }|
|
||||
{3:Xtest-functional-diff-screen-1.2 [+] }{2:Xtest-functional-diff-screen-1 }|
|
||||
:4,12diffget |
|
||||
]])
|
||||
@@ -376,7 +368,7 @@ something
|
||||
{7: }{8: 11 }common line │{7: }{8: 15 }common line |
|
||||
{7: }{8: }{23:-------------------------------------------}│{7: }{8: 16 }{22:DEF }|
|
||||
{7: }{8: 12 }something │{7: }{8: 17 }something |
|
||||
{7: }{8: 13 } │{7: }{8: 18 } |
|
||||
{1:~ }│{1:~ }|
|
||||
{3:Xtest-functional-diff-screen-1.2 [+] }{2:Xtest-functional-diff-screen-1 }|
|
||||
:e |
|
||||
]])
|
||||
@@ -403,7 +395,7 @@ something
|
||||
{7: }{8: 11 }common line │{7: }{8: 15 }common line |
|
||||
{7: }{8: }{23:-------------------------------------------}│{7: }{8: 16 }{22:DEF }|
|
||||
{7: }{8: 12 }something │{7: }{8: 17 }something |
|
||||
{7: }{8: 13 } │{7: }{8: 18 } |
|
||||
{1:~ }│{1:~ }|
|
||||
{3:Xtest-functional-diff-screen-1.2 [+] }{2:Xtest-functional-diff-screen-1 }|
|
||||
:e |
|
||||
]])
|
||||
@@ -430,7 +422,7 @@ something
|
||||
{7: }{8: 11 }common line │{7: }{8: 15 }common line |
|
||||
{7: }{8: }{23:-------------------------------------------}│{7: }{8: 16 }{22:DEF }|
|
||||
{7: }{8: 12 }something │{7: }{8: 17 }something |
|
||||
{7: }{8: 13 } │{7: }{8: 18 } |
|
||||
{1:~ }│{1:~ }|
|
||||
{3:Xtest-functional-diff-screen-1.2 [+] }{2:Xtest-functional-diff-screen-1 }|
|
||||
:e |
|
||||
]])
|
||||
@@ -457,7 +449,7 @@ something
|
||||
{7: }{8: 12 }^common line │{7: }{8: 15 }common line |
|
||||
{7: }{8: }{23:-------------------------------------------}│{7: }{8: 16 }{22:DEF }|
|
||||
{7: }{8: 13 }something │{7: }{8: 17 }something |
|
||||
{7: }{8: 14 } │{7: }{8: 18 } |
|
||||
{1:~ }│{1:~ }|
|
||||
{3:Xtest-functional-diff-screen-1.2 [+] }{2:Xtest-functional-diff-screen-1 }|
|
||||
:e |
|
||||
]])
|
||||
@@ -484,7 +476,7 @@ something
|
||||
{7: }{8: 11 }common line │{7: }{8: 15 }common line |
|
||||
{7: }{8: 12 }DEF │{7: }{8: 16 }DEF |
|
||||
{7: }{8: 13 }^something │{7: }{8: 17 }something |
|
||||
{7: }{8: 14 } │{7: }{8: 18 } |
|
||||
{1:~ }│{1:~ }|
|
||||
{3:Xtest-functional-diff-screen-1.2 [+] }{2:Xtest-functional-diff-screen-1 }|
|
||||
:e |
|
||||
]])
|
||||
@@ -511,7 +503,7 @@ something
|
||||
{7: }{8: 11 }common line │{7: }{8: 15 }common line |
|
||||
{7: }{8: }{23:-------------------------------------------}│{7: }{8: 16 }{22:DEF }|
|
||||
{7: }{8: 12 }something │{7: }{8: 17 }something |
|
||||
{7: }{8: 13 } │{7: }{8: 18 } |
|
||||
{1:~ }│{1:~ }|
|
||||
{3:Xtest-functional-diff-screen-1.2 }{2:Xtest-functional-diff-screen-1 [+] }|
|
||||
:e |
|
||||
]])
|
||||
@@ -538,7 +530,7 @@ something
|
||||
{7: }{8: 11 }common line │{7: }{8: 15 }common line |
|
||||
{7: }{8: }{23:-------------------------------------------}│{7: }{8: 16 }{22:DEF }|
|
||||
{7: }{8: 12 }something │{7: }{8: 17 }something |
|
||||
{7: }{8: 13 } │{7: }{8: 18 } |
|
||||
{1:~ }│{1:~ }|
|
||||
{3:Xtest-functional-diff-screen-1.2 }{2:Xtest-functional-diff-screen-1 [+] }|
|
||||
:e |
|
||||
]])
|
||||
@@ -565,7 +557,7 @@ something
|
||||
{7: }{8: 11 }common line │{7: }{8: 15 }common line |
|
||||
{7: }{8: }{23:-------------------------------------------}│{7: }{8: 16 }{22:DEF }|
|
||||
{7: }{8: 12 }something │{7: }{8: 17 }something |
|
||||
{7: }{8: 13 } │{7: }{8: 18 } |
|
||||
{1:~ }│{1:~ }|
|
||||
{3:Xtest-functional-diff-screen-1.2 }{2:Xtest-functional-diff-screen-1 [+] }|
|
||||
:e |
|
||||
]])
|
||||
@@ -591,7 +583,7 @@ something
|
||||
{7: }{8: 11 }^common line │{7: }{8: 14 }common line |
|
||||
{7: }{8: }{23:-------------------------------------------}│{7: }{8: 15 }{22:DEF }|
|
||||
{7: }{8: 12 }something │{7: }{8: 16 }something |
|
||||
{7: }{8: 13 } │{7: }{8: 17 } |
|
||||
{1:~ }│{1:~ }|
|
||||
{1:~ }│{1:~ }|
|
||||
{3:Xtest-functional-diff-screen-1.2 }{2:Xtest-functional-diff-screen-1 [+] }|
|
||||
:e |
|
||||
@@ -618,7 +610,7 @@ something
|
||||
{7: }{8: }{23:-------------------------------------------}│{7: }{8: 14 }{22:DEF }|
|
||||
{7: }{8: 11 }common line │{7: }{8: 15 }common line |
|
||||
{7: }{8: 12 }^something │{7: }{8: 16 }something |
|
||||
{7: }{8: 13 } │{7: }{8: 17 } |
|
||||
{1:~ }│{1:~ }|
|
||||
{1:~ }│{1:~ }|
|
||||
{3:Xtest-functional-diff-screen-1.2 }{2:Xtest-functional-diff-screen-1 [+] }|
|
||||
:e |
|
||||
@@ -646,7 +638,7 @@ something
|
||||
{7: }{8: 14 }common line │{7: }{8: 15 }common line |
|
||||
{7: }{8: }{23:-------------------------------------------}│{7: }{8: 16 }{22:DEF }|
|
||||
{7: }{8: 15 }something │{7: }{8: 17 }something |
|
||||
{7: }{8: 16 } │{7: }{8: 18 } |
|
||||
{1:~ }│{1:~ }|
|
||||
{2:Xtest-functional-diff-screen-1.2 [+] }{3:Xtest-functional-diff-screen-1 }|
|
||||
:e |
|
||||
]])
|
||||
@@ -673,7 +665,7 @@ something
|
||||
{7: }{8: 14 }common line │{7: }{8: 15 }common line |
|
||||
{7: }{8: }{23:-------------------------------------------}│{7: }{8: 16 }{22:DEF }|
|
||||
{7: }{8: 15 }something │{7: }{8: 17 }something |
|
||||
{7: }{8: 16 } │{7: }{8: 18 } |
|
||||
{1:~ }│{1:~ }|
|
||||
{2:Xtest-functional-diff-screen-1.2 [+] }{3:Xtest-functional-diff-screen-1 }|
|
||||
:e |
|
||||
]])
|
||||
@@ -700,7 +692,7 @@ something
|
||||
{7: }{8: 11 }common line │{7: }{8: 15 }common line |
|
||||
{7: }{8: }{23:-------------------------------------------}│{7: }{8: 16 }{22:DEF }|
|
||||
{7: }{8: 12 }something │{7: }{8: 17 }something |
|
||||
{7: }{8: 13 } │{7: }{8: 18 } |
|
||||
{1:~ }│{1:~ }|
|
||||
{2:Xtest-functional-diff-screen-1.2 [+] }{3:Xtest-functional-diff-screen-1 }|
|
||||
:e |
|
||||
]])
|
||||
@@ -727,7 +719,7 @@ something
|
||||
{7: }{8: 11 }common line │{7: }{8: 15 }common line |
|
||||
{7: }{8: 12 }DEF │{7: }{8: 16 }DEF |
|
||||
{7: }{8: 13 }something │{7: }{8: 17 }^something |
|
||||
{7: }{8: 14 } │{7: }{8: 18 } |
|
||||
{1:~ }│{1:~ }|
|
||||
{2:Xtest-functional-diff-screen-1.2 [+] }{3:Xtest-functional-diff-screen-1 }|
|
||||
:e |
|
||||
]])
|
||||
@@ -757,8 +749,7 @@ d
|
||||
{7: }{8: 2 }{4:abc d }│{7: }{8: 1 }{27:// }{4:abc d }|
|
||||
{7: }{8: 3 }{4:d }│{7: }{8: 2 }{27:// }{4:d }|
|
||||
{7: }{8: }{23:-------------------------------------------}│{7: }{8: 3 }{22:// d }|
|
||||
{7: }{8: 4 } │{7: }{8: 4 } |
|
||||
{1:~ }│{1:~ }|*13
|
||||
{1:~ }│{1:~ }|*14
|
||||
{3:Xtest-functional-diff-screen-1.2 }{2:Xtest-functional-diff-screen-1 }|
|
||||
:e |
|
||||
]])
|
||||
@@ -794,8 +785,7 @@ void testFunction () {
|
||||
{7: }{8: 3 }{4: }{27:// }{4:} }│{7: }{8: 4 }{4: } }|
|
||||
{7: }{8: }{23:-------------------------------------------}│{7: }{8: 5 }{22: } }|
|
||||
{7: }{8: 4 }} │{7: }{8: 6 }} |
|
||||
{7: }{8: 5 } │{7: }{8: 7 } |
|
||||
{1:~ }│{1:~ }|*11
|
||||
{1:~ }│{1:~ }|*12
|
||||
{3:Xtest-functional-diff-screen-1.2 }{2:Xtest-functional-diff-screen-1 }|
|
||||
:e |
|
||||
]])
|
||||
@@ -834,8 +824,7 @@ void testFunction () {
|
||||
{7: }{8: 6 }{22:?B }│{7: }{8: }{23:--------------------------------------------}|
|
||||
{7: }{8: 7 }{22:?B }│{7: }{8: }{23:--------------------------------------------}|
|
||||
{7: }{8: 8 }{22:?C }│{7: }{8: }{23:--------------------------------------------}|
|
||||
{7: }{8: 9 } │{7: }{8: 4 } |
|
||||
{1:~ }│{1:~ }|*9
|
||||
{1:~ }│{1:~ }|*10
|
||||
{3:Xtest-functional-diff-screen-1.2 }{2:Xtest-functional-diff-screen-1 }|
|
||||
:e |
|
||||
]])
|
||||
@@ -874,8 +863,7 @@ void testFunction () {
|
||||
{7: }{8: 6 }{27:?}{4:B }│{7: }{8: 2 }{27:!}{4:B }|
|
||||
{7: }{8: 7 }{27:?}{4:C }│{7: }{8: 3 }{27:!}{4:C }|
|
||||
{7: }{8: 8 }{22:?C }│{7: }{8: }{23:--------------------------------------------}|
|
||||
{7: }{8: 9 } │{7: }{8: 4 } |
|
||||
{1:~ }│{1:~ }|*9
|
||||
{1:~ }│{1:~ }|*10
|
||||
{3:Xtest-functional-diff-screen-1.2 }{2:Xtest-functional-diff-screen-1 }|
|
||||
:e |
|
||||
]])
|
||||
@@ -1017,8 +1005,7 @@ something
|
||||
{7: }{8: 9 }HIL │{7: }{8: 9 }HIL |
|
||||
{7: }{8: 10 }common line │{7: }{8: 10 }common line |
|
||||
{7: }{8: 11 }something │{7: }{8: 11 }something |
|
||||
{7: }{8: 12 } │{7: }{8: 12 } |
|
||||
{1:~ }│{1:~ }|*6
|
||||
{1:~ }│{1:~ }|*7
|
||||
{3:Xtest-functional-diff-screen-1.2 [+] }{2:Xtest-functional-diff-screen-1 }|
|
||||
:1,19diffget |
|
||||
]])
|
||||
|
||||
Reference in New Issue
Block a user