aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorzshuzh <40901142+zshuzh@users.noreply.github.com>2024-11-20 22:01:59 +0000
committerGitHub <noreply@github.com>2024-11-20 14:01:59 -0800
commitcedf155fb5c4d687747e59f5d3fdad76a40aa069 (patch)
treedecd41a937852b4428d43b4fccb49e6376a43956 /runtime
parent629483e24eed3f2c07e55e0540c553361e0345a2 (diff)
downloadrneovim-cedf155fb5c4d687747e59f5d3fdad76a40aa069.tar.gz
rneovim-cedf155fb5c4d687747e59f5d3fdad76a40aa069.tar.bz2
rneovim-cedf155fb5c4d687747e59f5d3fdad76a40aa069.zip
refactor(options): impl default 'titlestring' by format flags #30843
Problem: Unnecessary C impl of default 'titlestring'. Solutin: Define it using format flags.
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/news.txt5
-rw-r--r--runtime/doc/options.txt4
-rw-r--r--runtime/doc/vim_diff.txt5
-rw-r--r--runtime/lua/vim/_meta/options.lua7
4 files changed, 21 insertions, 0 deletions
diff --git a/runtime/doc/news.txt b/runtime/doc/news.txt
index f3d82786bd..ed342d9229 100644
--- a/runtime/doc/news.txt
+++ b/runtime/doc/news.txt
@@ -324,6 +324,11 @@ These existing features changed their behavior.
current window, and it no longer throws |E444| when there is only one window
on the screen. Global variable `vim.g.pager` is removed.
+• Default 'titlestring' is now implemented with 'statusline' "%" format items.
+ This means the default, empty value is essentially an alias to:
+ `%t%(\ %M%)%(\ \(%{expand(\"%:~:h\")}\)%)%a\ -\ Nvim`. This is only an
+ implementation simplification, not a behavior change.
+
==============================================================================
REMOVED FEATURES *news-removed*
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index c972a05c4d..64ad2d2956 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -6590,6 +6590,10 @@ A jump table for the options with a short description can be found at |Q_op|.
expanded according to the rules used for 'statusline'. If it contains
an invalid '%' format, the value is used as-is and no error or warning
will be given when the value is set.
+
+ The default behaviour is equivalent to: >vim
+ set titlestring=%t%(\ %M%)%(\ \(%{expand(\"%:~:h\")}\)%)%a\ -\ Nvim
+<
This option cannot be set in a modeline when 'modelineexpr' is off.
Example: >vim
diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt
index 8fa94a2601..50075c3bde 100644
--- a/runtime/doc/vim_diff.txt
+++ b/runtime/doc/vim_diff.txt
@@ -616,6 +616,11 @@ Autocommands:
- |TermResponse| is fired for any OSC sequence received from the terminal,
instead of the Primary Device Attributes response. |v:termresponse|
+Options:
+- 'titlestring' uses printf-style '%' items (see: 'statusline') to implement
+ the default behaviour. The implementation is equivalent to setting
+ 'titlestring' to `%t%(\ %M%)%(\ \(%{expand(\"%:~:h\")}\)%)%a\ -\ Nvim`.
+
==============================================================================
Missing features *nvim-missing*
diff --git a/runtime/lua/vim/_meta/options.lua b/runtime/lua/vim/_meta/options.lua
index cb783720ac..e485009ca2 100644
--- a/runtime/lua/vim/_meta/options.lua
+++ b/runtime/lua/vim/_meta/options.lua
@@ -7122,6 +7122,13 @@ vim.go.titleold = vim.o.titleold
--- expanded according to the rules used for 'statusline'. If it contains
--- an invalid '%' format, the value is used as-is and no error or warning
--- will be given when the value is set.
+---
+--- The default behaviour is equivalent to:
+---
+--- ```vim
+--- set titlestring=%t%(\ %M%)%(\ \(%{expand(\"%:~:h\")}\)%)%a\ -\ Nvim
+--- ```
+---
--- This option cannot be set in a modeline when 'modelineexpr' is off.
---
--- Example: