aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
authorbutwerenotthereyet <58348703+butwerenotthereyet@users.noreply.github.com>2020-01-02 06:06:11 -0800
committerJustin M. Keyes <justinkz@gmail.com>2020-01-02 06:06:11 -0800
commitcbc8d72fde4b19176028490934ff7a447afe523c (patch)
tree80c962c8c65b356e55b9a55e0f67c1ba2b24b78d /src/nvim/eval.c
parent2c62b2fc56b6b86a930356ccf48ba8fb189a7654 (diff)
downloadrneovim-cbc8d72fde4b19176028490934ff7a447afe523c.tar.gz
rneovim-cbc8d72fde4b19176028490934ff7a447afe523c.tar.bz2
rneovim-cbc8d72fde4b19176028490934ff7a447afe523c.zip
tabpage: track last-used tabpage #11626
In a multi-window scenario, it is possible to return focus to the last accessed window via n_CTRL-W_p. However, in the case of a multi-tab scenario, there was previously no way to return focus to the last accessed *tab*. Here, that ability is added via n_g<tab>. Additionally, the index of the previous tab is exposed via tabpagenr('#'), mirroring the existing functionality of winnr('#').
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 65f029649c..cf4d3af232 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -18172,6 +18172,10 @@ static void f_tabpagenr(typval_T *argvars, typval_T *rettv, FunPtr fptr)
if (arg != NULL) {
if (strcmp(arg, "$") == 0) {
nr = tabpage_index(NULL) - 1;
+ } else if (strcmp(arg, "#") == 0) {
+ nr = valid_tabpage(lastused_tabpage)
+ ? tabpage_index(lastused_tabpage)
+ : nr;
} else {
EMSG2(_(e_invexpr2), arg);
}