Download raw body.
usr.bin/vi: add showfilename option
On Mon, Feb 12, 2024 at 03:33:10PM +0000, Job Snijders wrote:
> Dear all,
>
> I usually have a few instances of vi open next to each other (using a
> window manager), and found pressing control-G all the time to understand
> 'what file is in what window' to be tedious. Instead, offer a configurable
> option (default off) to display the file name in the lower left corner.
>
> OK? Thoughts?
:set windowname displays the filename in the titlebar of an xterm.
Would that work for you?
-Otto
>
> Kind regards,
>
> Job
>
> Index: vi/common/options.c
> ===================================================================
> RCS file: /cvs/src/usr.bin/vi/common/options.c,v
> diff -u -p -r1.29 options.c
> --- vi/common/options.c 13 Apr 2021 15:39:21 -0000 1.29
> +++ vi/common/options.c 12 Feb 2024 15:02:03 -0000
> @@ -149,6 +149,8 @@ OPTLIST const optlist[] = {
> {"showmatch", NULL, OPT_0BOOL, 0},
> /* O_SHOWMODE 4.4BSD */
> {"showmode", NULL, OPT_0BOOL, 0},
> +/* O_SHOWFILENAME */
> + {"showfilename",NULL, OPT_0BOOL, 0},
> /* O_SIDESCROLL 4.4BSD */
> {"sidescroll", NULL, OPT_NUM, OPT_NOZERO},
> /* O_TABSTOP 4BSD */
> Index: vi/docs/USD.doc/vi.man/vi.1
> ===================================================================
> RCS file: /cvs/src/usr.bin/vi/docs/USD.doc/vi.man/vi.1,v
> diff -u -p -r1.83 vi.1
> --- vi/docs/USD.doc/vi.man/vi.1 29 Jan 2023 09:28:57 -0000 1.83
> +++ vi/docs/USD.doc/vi.man/vi.1 12 Feb 2024 15:02:03 -0000
> @@ -2500,6 +2500,10 @@ for
> and
> .Sq )\&
> characters.
> +.It Cm showfilename Bq off
> +.Nm vi
> +only.
> +Display the file name on the colon command line.
> .It Cm showmode , smd Bq off
> .Nm vi
> only.
> Index: vi/vi/vs_refresh.c
> ===================================================================
> RCS file: /cvs/src/usr.bin/vi/vi/vs_refresh.c,v
> diff -u -p -r1.22 vs_refresh.c
> --- vi/vi/vs_refresh.c 30 Jan 2016 21:31:08 -0000 1.22
> +++ vi/vi/vs_refresh.c 12 Feb 2024 15:02:03 -0000
> @@ -810,7 +810,7 @@ vs_modeline(SCR *sp)
>
> /* If more than one screen in the display, show the file name. */
> curlen = 0;
> - if (IS_SPLIT(sp)) {
> + if (IS_SPLIT(sp) || O_ISSET(sp, O_SHOWFILENAME)) {
> for (p = sp->frp->name; *p != '\0'; ++p);
> for (ellipsis = 0, cols = sp->cols / 2; --p > sp->frp->name;) {
> if (*p == '/') {
>
usr.bin/vi: add showfilename option