diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-12-21 15:17:36 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-12-21 15:17:36 +0100 |
commit | 162b71479bd4dcdb3a2ef9198a1444f6f99e6843 (patch) | |
tree | edd67e40cafeff24ad1631f9035ecc132e73b22b /src/proto/buffer.pro | |
parent | 48f377a476e4a3312aa0e3535aba170484b59483 (diff) |
patch 8.1.0614: placing signs can be complicatedv8.1.0614
Problem: Placing signs can be complicated.
Solution: Add functions for defining and placing signs. Introduce a group
name to avoid different plugins using the same signs. (Yegappan
Lakshmanan, closes #3652)
Diffstat (limited to 'src/proto/buffer.pro')
-rw-r--r-- | src/proto/buffer.pro | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/proto/buffer.pro b/src/proto/buffer.pro index 131ac829f3..0a7a616f36 100644 --- a/src/proto/buffer.pro +++ b/src/proto/buffer.pro @@ -69,17 +69,22 @@ char_u *buf_spname(buf_T *buf); void switch_to_win_for_buf(buf_T *buf, win_T **save_curwinp, tabpage_T **save_curtabp, bufref_T *save_curbuf); void restore_win_for_buf(win_T *save_curwin, tabpage_T *save_curtab, bufref_T *save_curbuf); int find_win_for_buf(buf_T *buf, win_T **wp, tabpage_T **tp); -void buf_addsign(buf_T *buf, int id, linenr_T lnum, int typenr); -linenr_T buf_change_sign_type(buf_T *buf, int markId, int typenr); +void buf_addsign(buf_T *buf, int id, char_u *group, int prio, linenr_T lnum, int typenr); +linenr_T buf_change_sign_type(buf_T *buf, int markId, char_u *group, int typenr); int buf_getsigntype(buf_T *buf, linenr_T lnum, int type); -linenr_T buf_delsign(buf_T *buf, int id); -int buf_findsign(buf_T *buf, int id); +linenr_T buf_delsign(buf_T *buf, int id, char_u *group); +int buf_findsign(buf_T *buf, int id, char_u *group); +#ifdef FEAT_SIGNS +int sign_in_group(signlist_T *sign, char_u *group); +dict_T *sign_get_info(signlist_T *sign); +signlist_T *buf_getsign_with_id(buf_T *buf, int id, char_u *group); +#endif int buf_findsign_id(buf_T *buf, linenr_T lnum); int buf_findsigntype_id(buf_T *buf, linenr_T lnum, int typenr); int buf_signcount(buf_T *buf, linenr_T lnum); -void buf_delete_signs(buf_T *buf); +void buf_delete_signs(buf_T *buf, char_u *group); void buf_delete_all_signs(void); -void sign_list_placed(buf_T *rbuf); +void sign_list_placed(buf_T *rbuf, char_u *sign_group); void sign_mark_adjust(linenr_T line1, linenr_T line2, long amount, long amount_after); void set_buflisted(int on); int buf_contents_changed(buf_T *buf); |