aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/change.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-10-16 08:06:07 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-10-16 08:34:55 +0800
commit19eb7054ff7b1fbc78e56e7f9ed6537b085147bc (patch)
treef10b35a7a415ebd3cbfc3b944aec96e65892becc /src/nvim/change.c
parentbc798dfd8cea9a5f93461e05dcb8409b6d96afc0 (diff)
downloadrneovim-19eb7054ff7b1fbc78e56e7f9ed6537b085147bc.tar.gz
rneovim-19eb7054ff7b1fbc78e56e7f9ed6537b085147bc.tar.bz2
rneovim-19eb7054ff7b1fbc78e56e7f9ed6537b085147bc.zip
vim-patch:9.0.0761: cannot use 'indentexpr' for Lisp indenting
Problem: Cannot use 'indentexpr' for Lisp indenting. Solution: Add the 'lispoptions' option. https://github.com/vim/vim/commit/49846fb1a31de99f49d6a7e70efe685197423c84 vim-patch:9.0.0762: build failure Problem: Build failure. Solution: Add missing change. https://github.com/vim/vim/commit/4b082c4bd05f504fda1acaa9d28fca55a2d04857
Diffstat (limited to 'src/nvim/change.c')
-rw-r--r--src/nvim/change.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/nvim/change.c b/src/nvim/change.c
index c6f9e9f5c2..2424a8a2eb 100644
--- a/src/nvim/change.c
+++ b/src/nvim/change.c
@@ -1814,17 +1814,19 @@ int open_line(int dir, int flags, int second_line_indent, bool *did_do_comment)
vreplace_mode = 0;
}
- if (!p_paste
- && leader == NULL
- && curbuf->b_p_lisp
- && curbuf->b_p_ai) {
- // do lisp indenting
- fixthisline(get_lisp_indent);
- ai_col = (colnr_T)getwhitecols_curline();
- } else if (do_cindent) {
- // do 'cindent' or 'indentexpr' indenting
- do_c_expr_indent();
- ai_col = (colnr_T)getwhitecols_curline();
+ if (!p_paste) {
+ if (leader == NULL
+ && !use_indentexpr_for_lisp()
+ && curbuf->b_p_lisp
+ && curbuf->b_p_ai) {
+ // do lisp indenting
+ fixthisline(get_lisp_indent);
+ ai_col = (colnr_T)getwhitecols_curline();
+ } else if (do_cindent || (curbuf->b_p_ai && use_indentexpr_for_lisp())) {
+ // do 'cindent' or 'indentexpr' indenting
+ do_c_expr_indent();
+ ai_col = (colnr_T)getwhitecols_curline();
+ }
}
if (vreplace_mode != 0) {