aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/api.txt3
-rw-r--r--runtime/doc/news.txt4
-rw-r--r--runtime/doc/ui.txt4
-rw-r--r--runtime/lua/vim/_meta/api.lua3
-rw-r--r--runtime/lua/vim/_meta/api_keysets.lua2
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