From 9dd8d7c09eff15f845edfa88cb22df88a5b6b8c6 Mon Sep 17 00:00:00 2001 From: Takumi Tsunokake Date: Sat, 20 Feb 2016 21:22:58 +0900 Subject: [PATCH] make new list item indent configurable before the commit, we cannot configure new list item indent, it was fixed. i always insert 2-space indent for new list item. so i'd like to make it configurable. --- README.md | 22 ++++++++++++++++++++++ doc/vim-markdown.txt | 21 +++++++++++++++++++++ indent/markdown.vim | 2 +- test/indent-new-list-item.vader | 15 +++++++++++++++ test/indent.vader | 10 ++++++++++ 5 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 test/indent-new-list-item.vader diff --git a/README.md b/README.md index bb53b3b..83e4847 100644 --- a/README.md +++ b/README.md @@ -196,6 +196,28 @@ JSON syntax highlight requires [vim-json](https://github.com/elzr/vim-json). let g:vim_markdown_json_frontmatter = 1 ``` +### Adjust new list item indent + +You can adjust a new list indent. For example, you insert a single line like below: + +``` +* item1 +``` + +Then if you type `o` to insert new line in vim and type `* item2`, the result will be: + +``` +* item1 + * item2 +``` + +vim-markdown automatically insert the indent. By default, the number of spaces of indent is 4. If you'd like to change the number as 2, just write: + +```vim +let g:vim_markdown_new_list_item_indent = 2 +``` + + ## Mappings The following work on normal and visual modes: diff --git a/doc/vim-markdown.txt b/doc/vim-markdown.txt index 6e486de..4e9fbf0 100644 --- a/doc/vim-markdown.txt +++ b/doc/vim-markdown.txt @@ -20,6 +20,7 @@ Contents ~ 2. YAML Front Matter |vim-markdown-yaml-front-matter| 3. TOML Front Matter |vim-markdown-toml-front-matter| 4. JSON Front Matter |vim-markdown-json-front-matter| + 10. Adjust new list item indent |vim-markdown-adjust-new-list-item-indent| 4. Mappings |vim-markdown-mappings| 5. Commands |vim-markdown-commands| 6. Credits |vim-markdown-credits| @@ -213,6 +214,26 @@ JSON syntax highlight requires vim-json [9]. > let g:vim_markdown_json_frontmatter = 1 < +------------------------------------------------------------------------------- + *vim-markdown-adjust-new-list-item-indent* +Adjust new list item indent ~ + +You can adjust a new list indent. For example, you insert a single line like +below: +> + * item1 +< +Then if you type 'o' to insert new line in vim and type '* item2', the result +will be: +> + * item1 + * item2 +< +vim-markdown automatically insert the indent. By default, the number of spaces +of indent is 4. If you'd like to change the number as 2, just write: +> + let g:vim_markdown_new_list_item_indent = 2 +< =============================================================================== *vim-markdown-mappings* Mappings ~ diff --git a/indent/markdown.vim b/indent/markdown.vim index faa7629..103e160 100755 --- a/indent/markdown.vim +++ b/indent/markdown.vim @@ -48,7 +48,7 @@ function GetMarkdownIndent() if v:lnum > 2 && s:IsBlankLine(getline(v:lnum - 1)) && s:IsBlankLine(getline(v:lnum - 2)) return 0 endif - let list_ind = 4 + let list_ind = get(g:, "vim_markdown_new_list_item_indent", 4) " Find a non-blank line above the current line. let lnum = s:PrevNonBlank(v:lnum - 1) " At the start of the file use zero indent. diff --git a/test/indent-new-list-item.vader b/test/indent-new-list-item.vader new file mode 100644 index 0000000..f73d7cc --- /dev/null +++ b/test/indent-new-list-item.vader @@ -0,0 +1,15 @@ +Before: + let g:vim_markdown_new_list_item_indent = 2 + +After: + unlet g:vim_markdown_new_list_item_indent + +Given markdown; +* item1 + +Do (new line from the first item of the list and add the second item): + o* item2 + +Expect (insert 2 spaces to the head of second item): + * item1 + * item2 diff --git a/test/indent.vader b/test/indent.vader index baa2d34..e0870d5 100644 --- a/test/indent.vader +++ b/test/indent.vader @@ -61,3 +61,13 @@ Expect (no indent header after list): - a ## b + +Given markdown; +* item1 + +Do (new line from the first item of the list and add the second item): + o* item2 + +Expect (insert 4 spaces to the head of second item): + * item1 + * item2 -- 2.39.5