diff options
Diffstat (limited to 'src/nvim/api')
-rw-r--r-- | src/nvim/api/tabpage.c | 17 | ||||
-rw-r--r-- | src/nvim/api/window.c | 20 |
2 files changed, 37 insertions, 0 deletions
diff --git a/src/nvim/api/tabpage.c b/src/nvim/api/tabpage.c index 8b1fb041e2..fa00988ae3 100644 --- a/src/nvim/api/tabpage.c +++ b/src/nvim/api/tabpage.c @@ -159,6 +159,23 @@ Window nvim_tabpage_get_win(Tabpage tabpage, Error *err) } } +/// Gets the tab page number +/// +/// @param tabpage The tabpage handle +/// @param[out] err Details of an error that may have occurred +/// @return The tabpage number +Integer nvim_tabpage_get_number(Tabpage tabpage, Error *err) +{ + Integer rv = 0; + tabpage_T *tab = find_tab_by_handle(tabpage, err); + + if (!tab) { + return rv; + } + + return tabpage_index(tab); +} + /// Checks if a tab page is valid /// /// @param tabpage The tab page handle diff --git a/src/nvim/api/window.c b/src/nvim/api/window.c index 166e43f698..382f65e7d9 100644 --- a/src/nvim/api/window.c +++ b/src/nvim/api/window.c @@ -341,6 +341,26 @@ Tabpage nvim_win_get_tabpage(Window window, Error *err) return rv; } +/// Gets the window number +/// +/// @param window The window handle +/// @param[out] err Details of an error that may have occurred +/// @return The window number +Integer nvim_win_get_number(Window window, Error *err) +{ + Integer rv = 0; + win_T *win = find_window_by_handle(window, err); + + if (!win) { + return rv; + } + + int tabnr; + win_get_tabwin(window, &tabnr, (int *)&rv); + + return rv; +} + /// Checks if a window is valid /// /// @param window The window handle |