git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH/RFC/WIP/POC] git-gui: grep prototype

From
Bert Wesarg <bert.wesarg@googlemail.com>
Date
Nov 19, 2010, 12:15 UTC
Message-ID
<AANLkTimWyjrRD951AGeEayMoTNd-N2OXRd_wQ0RBFegN@mail.gmail.com>
In-Reply-To
<20101114234848.GB26104@burratino>
On Mon, Nov 15, 2010 at 00:48, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 14 quoted lines
> Bert Wesarg wrote:
>
>> Now I got your point. Maybe I should call GIT_EDITOR with $FILENAME as
>> argument but with a new variable to indicate open'n'forget. So
>> existing setups would always open the file (even without honoring the
>> line number) and new/smart wrappers can honor the open'n'forget and
>> line number flag.
>
> Yes, I like the communication-via-environment idea.
>
> In fact, there are multiple questions an editor might want answered:
>
> 1. GUI or no GUI?  (The combination of $DISPLAY and $(tty) often
>   yields a reasonable answer.)

I think we can generalize this by using the name of the caller (ie binary name). This is easy to get in a unix/linux shell with the help of /proc/$PPID/exe, but maybe not so in others OS's. I just remembered that quilt has this feature, the name is QUILT_COMMAND and I use is in my wrapper script to detect whether the caller wants to wait or not (I block only on the header and mail command).

Show 10 quoted lines
>
> 2. open'n'forget or wait for answer?  (gvim's --nofork option)
>
> 3. What line number?
>
> 4. regex to use to highlight matches?
>
> Ideally $LINENUMBER would only be used represent (3), while a
> separate variable would indicate (2).
>

Using for each case its own flag may sound silly, but I think this makes it more clear, what the caller expects. For example in my git-patch for calling GIT_EDITOR I provide a flag whether the given path is in the index or not (ie the action comes from the index list). If it is from the index, I use checkout-index --temp and update-index to edit the content from the index. This call to GIT_EDITOR should be blocking but it is better to request this explicitly.

Could we settle on a name space for such variables? GIT_EDITOR_* makes it obvious that it is for the editor started from git.

Bert
Previous: Jonathan NiederNext: Jonathan Nieder
Message 7 of 9 in “git-gui: grep prototype”
  1. git-gui: grep prototypeBert Wesarg, Nov 14, 2010
  2. Jonathan NiederNov 14, 2010
  3. Bert WesargNov 14, 2010
  4. Jonathan NiederNov 14, 2010
  5. Bert WesargNov 14, 2010
  6. Jonathan NiederNov 14, 2010
  7. Bert WesargNov 19, 2010
  8. Jonathan NiederNov 19, 2010
  9. Bert WesargNov 19, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.