On Thu, Nov 21, 2024 at 08:05:46AM +0200, Eli Zaretskii wrote:
> Thanks, but I don't think I understand why you need a new variable.
> Just teach texi2any that some specially-formatted value of
> HIGHLIGHT_SYNTAX means to use whatever program is specified by the
> value.  For example, if the value is "(SOMETHING)", then SOMETHING is
> the shell command to use.  We could also have placeholders for
> command-line arguments, e.g. "(SOMETHING %i %o)" means invoke
> SOMETHING with a single command-line argument where %i is substituted
> by the name of a file with the code to be highlighted ("input") and %o
> with the name of the file to write the results ("output").  Or some
> other similar convention that is unlikely to conflict with the
> already-existing values.

I agree, it would be better to use HIGHLIGHT_SYNTAX.  If the value is
not a known value, then the command would be called.  I prefer a called
with fixed informations rather than %X arguments replacement.  That
means that users would have to use wrappers to translate the arguments
to a command doing the highlighting, but that does not seems to be an
issue to me.

There are two modes for HIGHLIGHT_SYNTAX. Pass fragments on stdin and
get results on stdout.  In that case, I think that the only argument
should be the $language.  The other possibility is to go through input
and output files, with fragments to be highlited separated by

_______________________ $counter\n

line ranges passed on the command line and the output files is supposed
to use a range separator passed on the command line.  In that case, more
arguments should be passed, the language, the input and output files,
the line ranges and the range separator.

I think that it would be better to be able to specify which mode is
used, probably with a customization variable.  Maybe using a
user-specified command could be first implemented for the first mode
only.

Carlos, do you want to have a try?  Since the patch will not be small,
you'll have to do a Copyright assignment with the FSF if you do not have
already.

> P.S. Btw, why wasn't this feature announced in any NEWS file?  AFAICT,
> it exists since Texinfo 6.8, but is not mentioned in NEWS.  Perhaps it
> should be mentioned in NEWS of the next release?

It was not considered stable for now, I think it is why it was not in
the NEWS at the beginning.  Now it could be because we forgot...

-- 
Pat

Reply via email to