diff options
Diffstat (limited to 'src/nvim/farsi.c')
-rw-r--r-- | src/nvim/farsi.c | 59 |
1 files changed, 28 insertions, 31 deletions
diff --git a/src/nvim/farsi.c b/src/nvim/farsi.c index 678e6d2e14..e7e93f756f 100644 --- a/src/nvim/farsi.c +++ b/src/nvim/farsi.c @@ -131,7 +131,7 @@ static char_u toF_Xor_X_(int c) /// @param c The character to convert. /// /// @return Character converted to the Farsi capital leter. -char_u toF_TyA(char_u c) +static char_u toF_TyA(char_u c) { char_u tempc; @@ -1557,7 +1557,7 @@ static char_u toF_ending(char_u c) } /// Convert the Farsi 3342 standard into Farsi VIM. -void conv_to_pvim(void) +static void conv_to_pvim(void) { char_u *ptr; int lnum, llen, i; @@ -1588,8 +1588,8 @@ void conv_to_pvim(void) } // Following lines contains Farsi encoded character. - do_cmdline_cmd("%s/\202\231/\232/g"); - do_cmdline_cmd("%s/\201\231/\370\334/g"); + do_cmdline_cmd("%s/\202\231/\232/ge"); + do_cmdline_cmd("%s/\201\231/\370\334/ge"); // Assume the screen has been messed up: clear it and redraw. redraw_later(CLEAR); @@ -1597,14 +1597,14 @@ void conv_to_pvim(void) } /// Convert the Farsi VIM into Farsi 3342 standard. -void conv_to_pstd(void) +static void conv_to_pstd(void) { char_u *ptr; int lnum, llen, i; // Following line contains Farsi encoded character. - do_cmdline_cmd("%s/\232/\202\231/g"); - for (lnum = 1; lnum <= curbuf->b_ml.ml_line_count; ++lnum) { + do_cmdline_cmd("%s/\232/\202\231/ge"); + for (lnum = 1; lnum <= curbuf->b_ml.ml_line_count; lnum++) { ptr = ml_get((linenr_T)lnum); llen = (int)STRLEN(ptr); for (i = 0; i < llen; i++) { @@ -2036,34 +2036,31 @@ bool F_ischar(int c) return c >= TEE_ && c <= YE_; } -void farsi_fkey(cmdarg_T *cap) +void farsi_f8(cmdarg_T *cap FUNC_ATTR_UNUSED) { - int c = cap->cmdchar; - - if (c == K_F8) { - if (p_altkeymap) { - if (curwin->w_farsi & W_R_L) { - p_fkmap = 0; - do_cmdline_cmd("set norl"); - MSG(""); - } else { - p_fkmap = 1; - do_cmdline_cmd("set rl"); - MSG(""); - } - - curwin->w_farsi = curwin->w_farsi ^ W_R_L; + if (p_altkeymap) { + if (curwin->w_farsi & W_R_L) { + p_fkmap = 0; + do_cmdline_cmd("set norl"); + MSG(""); + } else { + p_fkmap = 1; + do_cmdline_cmd("set rl"); + MSG(""); } + + curwin->w_farsi = curwin->w_farsi ^ W_R_L; } +} - if (c == K_F9) { - if (p_altkeymap && curwin->w_p_rl) { - curwin->w_farsi = curwin->w_farsi ^ W_CONV; - if (curwin->w_farsi & W_CONV) { - conv_to_pvim(); - } else { - conv_to_pstd(); - } +void farsi_f9(cmdarg_T *cap FUNC_ATTR_UNUSED) +{ + if (p_altkeymap && curwin->w_p_rl) { + curwin->w_farsi = curwin->w_farsi ^ W_CONV; + if (curwin->w_farsi & W_CONV) { + conv_to_pvim(); + } else { + conv_to_pstd(); } } } |