tpope / vim-flagship

flagship.vim: Configurable and extensible tab line and status line
http://www.vim.org/scripts/script.php?script_id=5199
225 stars 5 forks source link

question about tabline #14

Closed gauteh closed 6 years ago

gauteh commented 6 years ago

Hi,

thanks for this plugin -- though I needed airline -- turns out that was wrong. This is perfect. The tabline I understand is not so easy to show any meaningful identification in. I am using the flagship defaults, but if I have e.g. two tabs whenever I switch tabs the tab label always shows the same path in for all tabs! Is this intentional? Could perhaps be caused by some funky change directory stuff that I have... though if I run :pwd I get two different paths (as expected).

2018-09-16-093050_2560x1600_scrot 2018-09-16-093054_2560x1600_scrot

tpope commented 6 years ago

It should show the current working directory (or directories) for each tab. Funky change directory stuff could indeed affect things. Report back on your Vim version. The presence of patch 7.4.1126 affects the logic used.

https://github.com/tpope/vim-flagship/blob/66abd2fc519f4339ec751874279c14da7833dd99/autoload/flagship.vim#L189-L193

gauteh commented 6 years ago

Tim Pope writes on September 16, 2018 19:27:

It should show the current working directory (or directories) for each tab. Funky change directory stuff could indeed affect things. Report back on your Vim version. The presence of patch 7.4.1126 affects the logic used.

https://github.com/tpope/vim-flagship/blob/66abd2fc519f4339ec751874279c14da7833dd99/autoload/flagship.vim#L189-L193

VIM - Vi IMproved 8.1 (2018 May 18, compiled Aug  1 2018 12:30:25)
Included patches: 1-194
Compiled by Arch Linux
Huge version with GTK3 GUI.  Features included (+) or not (-):
+acl               +farsi             +mouse_sgr         -tag_any_white
+arabic            +file_in_path      -mouse_sysmouse    +tcl/dyn
+autocmd           +find_in_path      +mouse_urxvt       +termguicolors
-autoservername    +float             +mouse_xterm       +terminal
+balloon_eval      +folding           +multi_byte        +terminfo
+balloon_eval_term -footer            +multi_lang        +termresponse
+browse            +fork()            -mzscheme          +textobjects
++builtin_terms    +gettext           +netbeans_intg     +timers
+byte_offset       -hangul_input      +num64             +title
+channel           +iconv             +packages          +toolbar
+cindent           +insert_expand     +path_extra        +user_commands
+clientserver      +job               +perl/dyn          +vartabs
+clipboard         +jumplist          +persistent_undo   +vertsplit
+cmdline_compl     +keymap            +postscript        +virtualedit
+cmdline_hist      +lambda            +printer           +visual
+cmdline_info      +langmap           +profile           +visualextra
+comments          +libcall           +python/dyn        +viminfo
+conceal           +linebreak         +python3/dyn       +vreplace
+cryptv            +lispindent        +quickfix          +wildignore
+cscope            +listcmds          +reltime           +wildmenu
+cursorbind        +localmap          +rightleft         +windows
+cursorshape       +lua/dyn           +ruby/dyn          +writebackup
+dialog_con_gui    +menu              +scrollbind        +X11
+diff              +mksession         +signs             -xfontset
+digraphs          +modify_fname      +smartindent       +xim
+dnd               +mouse             +startuptime       -xpm
-ebcdic            +mouseshape        +statusline        +xsmp_interact
+emacs_tags        +mouse_dec         -sun_workshop      +xterm_clipboard
+eval              +mouse_gpm         +syntax            -xterm_save
+ex_extra          -mouse_jsbterm     +tag_binary        
+extra_search      +mouse_netterm     +tag_old_static    
   system vimrc file: "/etc/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "/etc/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/uuid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/libdrm -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -pthread  -D_FORTIFY_SOURCE=2  -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1       
Linking: gcc   -L. -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-rpath,/usr/lib/perl5/5.28/core_perl/CORE  -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -L/usr/local/lib -Wl,--as-needed -o vim   -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0  -lSM -lICE -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lelf -lnsl    -lacl -lattr -lgpm -ldl   -Wl,-E -Wl,-rpath,/usr/lib/perl5/5.28/core_perl/CORE -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/perl5/5.28/core_perl/CORE -lperl -lpthread -ldl -lm -lcrypt -lutil -lc   -L/usr/lib -ltclstub8.6 -ldl -lz -lpthread -lm     
gauteh commented 6 years ago

Tim Pope writes on September 16, 2018 19:27:

It should show the current working directory (or directories) for each tab. Funky change directory stuff could indeed affect things. Report back on your Vim version.

Seems that the issue could be related to vim-rooter and set autochdir. vim-rooter allegedly unsets autochdir, but I have vim-rooter in only_manual mode..

Either way, if I have both autochdir with vim-rooter on (in manual mode) it doesn't work. If I have only one of them it works.

tpope commented 6 years ago

Check if :echo getcwd() and :pwd match. Playing around with 'autochdir' I'm able to get them not to match pretty easily, which smells like a Vim bug.

gauteh commented 6 years ago

Tim Pope writes on September 16, 2018 19:48:

Check if :echo getcwd() and :pwd match. Playing around with 'autochdir' I'm able to get them not to match pretty easily, which smells like a Vim bug.

Yeah - that seems to be the case here as well (when the issue occurs). This just worked for re-producing, but don't have a super reliable way:

  1. open vim (I have startify)
  2. open file
  3. split window
  4. open another file somewhere else (in my case wiki)
  1. create new tab
  2. open one of the bufs
tpope commented 6 years ago

You should look into reporting that as a Vim bug then. Not much Flagship can do about it. Or avoid 'autochdir' entirely, as it's always been pretty wonky.