diff options
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/doc/api.txt | 3 | ||||
-rw-r--r-- | runtime/doc/news.txt | 4 | ||||
-rw-r--r-- | runtime/doc/ui.txt | 4 | ||||
-rw-r--r-- | runtime/lua/vim/_meta/api.lua | 3 | ||||
-rw-r--r-- | runtime/lua/vim/_meta/api_keysets.lua | 2 |
5 files changed, 15 insertions, 1 deletions
diff --git a/runtime/doc/api.txt b/runtime/doc/api.txt index f37d349fd8..90c9d0ccbb 100644 --- a/runtime/doc/api.txt +++ b/runtime/doc/api.txt @@ -2783,6 +2783,9 @@ nvim_buf_set_extmark({buffer}, {ns_id}, {line}, {col}, {*opts}) drawn by a UI. When set, the UI will receive win_extmark events. Note: the mark is positioned by virt_text attributes. Can be used together with virt_text. + • url: A URL to associate with this extmark. In the TUI, the + OSC 8 control sequence is used to generate a clickable + hyperlink to this URL. Return: ~ Id of the created/updated extmark diff --git a/runtime/doc/news.txt b/runtime/doc/news.txt index d63d1e6928..a7c4e8147c 100644 --- a/runtime/doc/news.txt +++ b/runtime/doc/news.txt @@ -301,6 +301,10 @@ The following new APIs and features were added. • |vim.version.le()| and |vim.version.ge()| are added to |vim.version|. +• |extmarks| can be associated with a URL and URLs are included as a new + highlight attribute. The TUI will display URLs using the OSC 8 control + sequence, enabling clickable text in supporting terminals. + ============================================================================== CHANGED FEATURES *news-changed* diff --git a/runtime/doc/ui.txt b/runtime/doc/ui.txt index c81420d1f2..b8d47923ca 100644 --- a/runtime/doc/ui.txt +++ b/runtime/doc/ui.txt @@ -328,9 +328,11 @@ numerical highlight ids to the actual attributes. `underdotted`: underdotted text. The dots have `special` color. `underdashed`: underdashed text. The dashes have `special` color. `altfont`: alternative font. - `blend`: Blend level (0-100). Could be used by UIs to + `blend`: blend level (0-100). Could be used by UIs to support blending floating windows to the background or to signal a transparent cursor. + `url`: a URL associated with this highlight. UIs can + display this URL however they wish. For absent color keys the default color should be used. Don't store the default value in the table, rather a sentinel value, so that diff --git a/runtime/lua/vim/_meta/api.lua b/runtime/lua/vim/_meta/api.lua index f773ddd75c..076aae7dbe 100644 --- a/runtime/lua/vim/_meta/api.lua +++ b/runtime/lua/vim/_meta/api.lua @@ -607,6 +607,9 @@ function vim.api.nvim_buf_line_count(buffer) end --- drawn by a UI. When set, the UI will receive win_extmark --- events. Note: the mark is positioned by virt_text --- attributes. Can be used together with virt_text. +--- • url: A URL to associate with this extmark. In the TUI, the +--- OSC 8 control sequence is used to generate a clickable +--- hyperlink to this URL. --- @return integer function vim.api.nvim_buf_set_extmark(buffer, ns_id, line, col, opts) end diff --git a/runtime/lua/vim/_meta/api_keysets.lua b/runtime/lua/vim/_meta/api_keysets.lua index 5ebedc977b..00d3ff5bb4 100644 --- a/runtime/lua/vim/_meta/api_keysets.lua +++ b/runtime/lua/vim/_meta/api_keysets.lua @@ -192,6 +192,7 @@ error('Cannot require a meta file') --- @field fg_indexed? boolean --- @field bg_indexed? boolean --- @field force? boolean +--- @field url? string --- @class vim.api.keyset.highlight_cterm --- @field bold? boolean @@ -272,6 +273,7 @@ error('Cannot require a meta file') --- @field spell? boolean --- @field ui_watched? boolean --- @field undo_restore? boolean +--- @field url? string --- @class vim.api.keyset.user_command --- @field addr? any |