aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2023-09-26 06:41:53 -0700
committerJustin M. Keyes <justinkz@gmail.com>2023-09-26 06:41:53 -0700
commitde9348978999aa78f8351b5f55930bb109e742f7 (patch)
treed04dbc203f1c8ed81092e20f524488313c39e080
parentbc6fc0123d2f02b1f209cbec740665033fbb5892 (diff)
downloadrneovim-de9348978999aa78f8351b5f55930bb109e742f7.tar.gz
rneovim-de9348978999aa78f8351b5f55930bb109e742f7.tar.bz2
rneovim-de9348978999aa78f8351b5f55930bb109e742f7.zip
refactor(tutor): cleanup
-rw-r--r--runtime/autoload/tutor.vim2
-rw-r--r--test/functional/plugin/tutor_spec.lua141
2 files changed, 72 insertions, 71 deletions
diff --git a/runtime/autoload/tutor.vim b/runtime/autoload/tutor.vim
index 701be28ccc..a546f7007e 100644
--- a/runtime/autoload/tutor.vim
+++ b/runtime/autoload/tutor.vim
@@ -230,7 +230,7 @@ function! tutor#TutorCmdComplete(lead,line,pos)
endfunction
function! tutor#ApplyTransform()
- if has('win32')
+ if has('win32')
sil! %s/{unix:(\(.\{-}\)),win:(\(.\{-}\))}/\2/g
else
sil! %s/{unix:(\(.\{-}\)),win:(\(.\{-}\))}/\1/g
diff --git a/test/functional/plugin/tutor_spec.lua b/test/functional/plugin/tutor_spec.lua
index 5c84db6d4b..bd214e9c03 100644
--- a/test/functional/plugin/tutor_spec.lua
+++ b/test/functional/plugin/tutor_spec.lua
@@ -6,78 +6,13 @@ local feed = helpers.feed
local is_os = helpers.is_os
describe(':Tutor', function()
+ local screen
+
before_each(function()
- clear({ args = { '-u', 'NORC' } })
+ clear({ args = { '--clean' } })
command('set cmdheight=0')
command('Tutor')
- end)
-
- it('should apply transformation', function()
- local expected = is_os('win') and [[
- {0: }^ |
- {0: } 3. To verify that a file was retrieved, cursor back and notice that there |
- {0: } are now two copies of Lesson 5.3, the original and the retrieved version. |
- {0: } |
- {0: }{1:NOTE}: You can also read the output of an external command. For example, |
- {0: } |
- {0: } :r {4:!}dir |
- {0: } |
- {0: } reads the output of the ls command and puts it below the cursor. |
- {0: } |
- {0: }{3:#}{5: Lesson 5 SUMMARY} |
- {0: } |
- {0: } 1. {2::!command} executes an external command. |
- {0: } |
- {0: } Some useful examples are: |
- {0: } :{4:!}dir - shows a directory listing |
- {0: } :{4:!}del FILENAME - removes file FILENAME |
- {0: } |
- {0: } 2. {2::w} FILENAME writes the current Neovim file to disk with |
- {0: } name FILENAME. |
- {0: } |
- {0: } 3. {2:v} motion :w FILENAME saves the Visually selected lines in file |
- {0: } FILENAME. |
- {0: } |
- {0: } 4. {2::r} FILENAME retrieves disk file FILENAME and puts it |
- {0: } below the cursor position. |
- {0: } |
- {0: } 5. {2::r !dir} reads the output of the dir command and |
- {0: } puts it below the cursor position. |
- {0: } |
- ]] or [[
- {0: }^ |
- {0: } 3. To verify that a file was retrieved, cursor back and notice that there |
- {0: } are now two copies of Lesson 5.3, the original and the retrieved version. |
- {0: } |
- {0: }{1:NOTE}: You can also read the output of an external command. For example, |
- {0: } |
- {0: } :r {4:!}ls |
- {0: } |
- {0: } reads the output of the ls command and puts it below the cursor. |
- {0: } |
- {0: }{3:#}{5: Lesson 5 SUMMARY} |
- {0: } |
- {0: } 1. {2::!command} executes an external command. |
- {0: } |
- {0: } Some useful examples are: |
- {0: } :{4:!}ls - shows a directory listing |
- {0: } :{4:!}rm FILENAME - removes file FILENAME |
- {0: } |
- {0: } 2. {2::w} FILENAME writes the current Neovim file to disk with |
- {0: } name FILENAME. |
- {0: } |
- {0: } 3. {2:v} motion :w FILENAME saves the Visually selected lines in file |
- {0: } FILENAME. |
- {0: } |
- {0: } 4. {2::r} FILENAME retrieves disk file FILENAME and puts it |
- {0: } below the cursor position. |
- {0: } |
- {0: } 5. {2::r !ls} reads the output of the ls command and |
- {0: } puts it below the cursor position. |
- {0: } |
- ]]
-
- local screen = Screen.new(80, 30)
+ screen = Screen.new(80, 30)
screen:set_default_attr_ids({
[0] = { foreground = Screen.colors.DarkBlue, background = Screen.colors.Gray },
[1] = { bold = true },
@@ -87,8 +22,74 @@ describe(':Tutor', function()
[5] = { bold = true, foreground = Screen.colors.Magenta1 },
})
screen:attach()
+ end)
+
+ it('applies {unix:…,win:…} transform', function()
+ local expected = is_os('win') and [[
+ {0: }^ |
+ {0: } 3. To verify that a file was retrieved, cursor back and notice that there |
+ {0: } are now two copies of Lesson 5.3, the original and the retrieved version. |
+ {0: } |
+ {0: }{1:NOTE}: You can also read the output of an external command. For example, |
+ {0: } |
+ {0: } :r {4:!}dir |
+ {0: } |
+ {0: } reads the output of the ls command and puts it below the cursor. |
+ {0: } |
+ {0: }{3:#}{5: Lesson 5 SUMMARY} |
+ {0: } |
+ {0: } 1. {2::!command} executes an external command. |
+ {0: } |
+ {0: } Some useful examples are: |
+ {0: } :{4:!}dir - shows a directory listing |
+ {0: } :{4:!}del FILENAME - removes file FILENAME |
+ {0: } |
+ {0: } 2. {2::w} FILENAME writes the current Neovim file to disk with |
+ {0: } name FILENAME. |
+ {0: } |
+ {0: } 3. {2:v} motion :w FILENAME saves the Visually selected lines in file |
+ {0: } FILENAME. |
+ {0: } |
+ {0: } 4. {2::r} FILENAME retrieves disk file FILENAME and puts it |
+ {0: } below the cursor position. |
+ {0: } |
+ {0: } 5. {2::r !dir} reads the output of the dir command and |
+ {0: } puts it below the cursor position. |
+ {0: } |
+ ]] or [[
+ {0: }^ |
+ {0: } 3. To verify that a file was retrieved, cursor back and notice that there |
+ {0: } are now two copies of Lesson 5.3, the original and the retrieved version. |
+ {0: } |
+ {0: }{1:NOTE}: You can also read the output of an external command. For example, |
+ {0: } |
+ {0: } :r {4:!}ls |
+ {0: } |
+ {0: } reads the output of the ls command and puts it below the cursor. |
+ {0: } |
+ {0: }{3:#}{5: Lesson 5 SUMMARY} |
+ {0: } |
+ {0: } 1. {2::!command} executes an external command. |
+ {0: } |
+ {0: } Some useful examples are: |
+ {0: } :{4:!}ls - shows a directory listing |
+ {0: } :{4:!}rm FILENAME - removes file FILENAME |
+ {0: } |
+ {0: } 2. {2::w} FILENAME writes the current Neovim file to disk with |
+ {0: } name FILENAME. |
+ {0: } |
+ {0: } 3. {2:v} motion :w FILENAME saves the Visually selected lines in file |
+ {0: } FILENAME. |
+ {0: } |
+ {0: } 4. {2::r} FILENAME retrieves disk file FILENAME and puts it |
+ {0: } below the cursor position. |
+ {0: } |
+ {0: } 5. {2::r !ls} reads the output of the ls command and |
+ {0: } puts it below the cursor position. |
+ {0: } |
+ ]]
- feed(':700<CR>z<CR>')
+ feed(':700<CR>zt')
screen:expect(expected)
end)
end)