RE: Does 'man' syntax do its job?

2007-01-04 Thread Vince Negri
James Vega [mailto:[EMAIL PROTECTED] wrote:

On the other hand, integrating the [conceal] patch would provide a solution for
various itches that I know people want to scratch (mainly to do with
builtin previewing of filetypes like html, tex, etc).  If it were
disabled by default (as I think folding should be), it would allow
people that knew of it to take advantage of the functionality without
causing novice users to wonder what the heck is going on.

FYI the default "conceallevel" is 0, at which no concealment goes on at all.

To recap:

0 - normal operation.

1 - inline folding, each group of concealed chars replaced by a configurable 
character
(by default this is a "-" highlighted to look similar to a folded line.

Mode 1 is most useful for "folding out" applications, since you can always
see that something has been removed.

2 - hide/replace mode. Concealed chars are hidden completely, unless a 
character has
been specified for them in the syntax definition. Simple example: in my own
HTML syntax I have the "&" sequence folded and replaced with "&".

Mode 2 is the most useful for "smart" TeX and HTML etc editing, as it has
the cleanest look.

3 - hide mode. Concealed chars are always hidden completely. This is only there 
for
completeness, I would imagine option 2 is always the more useful. 


Vince








Re: Does 'man' syntax do its job?

2007-01-03 Thread James Vega
On Wed, Jan 03, 2007 at 05:06:50PM +0100, A.J.Mechelynck wrote:
> Doesn't linewise folding also suppress information? Yet Vim has had that 
> for quite some time. It is true that it doesn't make the folds disappear 
> completely; rather, each outer closed fold is replaced by one line. That 
> wouldn't work for inline folding; but maybe it could use the 'foldcolumn' 
> or something to draw attention to the fact that something has been hidden.
> 
> And BTW, the Hidden highlight group (guibg=bg guifg=bg) also "suppresses" 
> whatever uses it, yet IIUC it is used a lot in helpfiles. I'm not sure 
> about netrw, but the older Explorer plugin also used it to hide its sort 
> key.

Both of those hide information, but in a way that is still
discoverable/noticeable by the user.  Folds show a fold line, and
'ignored' highlights still occupy real estate on the screen.  Also, with
the colorschemes I've used, you can still see the actual ignored text
when the cursor is on the character.  When using the conceal
functionality, text is completely hidden from the user.  (I just saw
Vince's reply that this depends on 'conceallevel', so it may not be as
unobvious as I originally thought.)  This has its place obviously (as
evidenced by the patch even existing), but I can understand reluctance
to include the patch since it so dramatically affects the display of the
buffer.

On the other hand, integrating the patch would provide a solution for
various itches that I know people want to scratch (mainly to do with
builtin previewing of filetypes like html, tex, etc).  If it were
disabled by default (as I think folding should be), it would allow
people that knew of it to take advantage of the functionality without
causing novice users to wonder what the heck is going on.

James
-- 
GPG Key: 1024D/61326D40 2003-09-02 James Vega <[EMAIL PROTECTED]>


signature.asc
Description: Digital signature


RE: Does 'man' syntax do its job?

2007-01-03 Thread Vince Negri
Charles E Campbell Jr [mailto:[EMAIL PROTECTED] wrote:

> Even conceallevel==3 isn't actually "completely hidden"; instead, the 
> current line (the one the cursor is on and where presumably editing may 
> occur) has its text shown normally (ie. no inline folding on the current 
> line).

Oo, a bug in my docs. Thanks for spotting this.

Vince



RE: Does 'man' syntax do its job?

2007-01-03 Thread Vince Negri
A.J.Mechelynck [mailto:[EMAIL PROTECTED] wrote:

> Doesn't linewise folding also suppress information? Yet Vim has had that for 
> quite some time. It is true that it doesn't make the folds disappear 
> completely; rather, each outer closed fold is replaced by one line. That 
> wouldn't work for inline folding; but maybe it could use the 'foldcolumn' or 
> something to draw attention to the fact that something has been hidden.

The display depends on the setting of "concealevel". When set to 1, inline 
folded
elements are replaced by a configurable special character. When set to 2, the
folded elements are hidden completely; your idea of showing something in
foldcolumn is an interesting one.

Vince



Re: Does 'man' syntax do its job?

2007-01-03 Thread Charles E Campbell Jr

A.J.Mechelynck wrote:


Charles E Campbell Jr wrote:
[...]

Unfortunately, IMHO, inline folding didn't get enough votes during 
vim 7.0's development, and Bram is uncomfortable with the idea of 
inline folding because it, naturally enough, suppresses information 
(Vince's patch typically folds all lines but the current one).  At 
least, that's how I understand the state of things.


Regards,
Chip Campbell




Doesn't linewise folding also suppress information? Yet Vim has had 
that for quite some time. It is true that it doesn't make the folds 
disappear completely; rather, each outer closed fold is replaced by 
one line. That wouldn't work for inline folding; but maybe it could 
use the 'foldcolumn' or something to draw attention to the fact that 
something has been hidden.


And BTW, the Hidden highlight group (guibg=bg guifg=bg) also 
"suppresses" whatever uses it, yet IIUC it is used a lot in helpfiles. 
I'm not sure about netrw, but the older Explorer plugin also used it 
to hide its sort key.


That wasn't my objection; I rather like inline folding.  Also, perhaps I 
may not have stated Bram's objection correctly, or perhaps I 
misunderstood it.After all, he does have the following note in the 
todo.txt:


-   Add 'hidecomment' option: don't display comments in /* */ and after //.
   Or is the conceal patch from Vince Negri a more generic solution?

Vince Negri's patch could certainly be used to hide comments but leave 
the comment start designators visible.  It basically allows one to 
extend syntax highlighting to include the "conceal" option, so one can 
specify things to inline conceal.


Vince's folding patch supports the notion of "conceallevel"; taken from 
his patch to options.txt:


   'conceallevel'Effect
   0Text is shown normally
   1Each block of concealed text is replaced with the
   character defined in 'listchars' (default is a dash)
   and highlighted with the "Conceal" highlight group.
   2Concealed text is completely hidden unless it has a
   custom replacement character defined (see
   |syn-cchar|.
   3Concealed text is completely hidden.

Even conceallevel==3 isn't actually "completely hidden"; instead, the 
current line (the one the cursor is on and where presumably editing may 
occur) has its text shown normally (ie. no inline folding on the current 
line).


Regards,
Chip Campbell





Re: Does 'man' syntax do its job?

2007-01-03 Thread A.J.Mechelynck

Charles E Campbell Jr wrote:
[...]
Unfortunately, IMHO, inline folding didn't get enough votes during vim 
7.0's development, and Bram is uncomfortable with the idea of inline 
folding because it, naturally enough, suppresses information (Vince's 
patch typically folds all lines but the current one).  At least, that's 
how I understand the state of things.


Regards,
Chip Campbell




Doesn't linewise folding also suppress information? Yet Vim has had that for 
quite some time. It is true that it doesn't make the folds disappear 
completely; rather, each outer closed fold is replaced by one line. That 
wouldn't work for inline folding; but maybe it could use the 'foldcolumn' or 
something to draw attention to the fact that something has been hidden.


And BTW, the Hidden highlight group (guibg=bg guifg=bg) also "suppresses" 
whatever uses it, yet IIUC it is used a lot in helpfiles. I'm not sure about 
netrw, but the older Explorer plugin also used it to hide its sort key.



Best regards,
Tony.


RE: Does 'man' syntax do its job?

2007-01-03 Thread Vince Negri
Charles E Campbell Jr [mailto:[EMAIL PROTECTED] wrote:

> One 
> natural use for [inline folding] would be to allow LaTeX files to be 
> displayed using its embedded directives while suppressing the directives 
> themselves, which would make for nice LaTeX editing.

As shown here:

http://vince.negri.googlepages.com/concealownsyntaxforvim

;-)

Vince


Re: Does 'man' syntax do its job?

2007-01-03 Thread Charles E Campbell Jr

Zvi Har'El wrote:


I tried to use view with the 'man' syntax, for example on the file vimtutor.man
obtained by

   GROFF_NO_SGR=y groff -Tascii -man $(man -w vimtutor) > vimtutor.man

(see http://www.math.technion.ac.il/~rl/etc/vimtutor.man)
(this is not the file vimtutor.man in the vim distribution - the latter
doesn't include embedded backspaces).

I have the following problem: while the character before an embedded backspace
is ignored (sort of: it is colored white), the backspace is printed as a ^H.
I would expect the two characters to be skipped all together. (snip)



Why would you expect that?  Syntax highlighting is highlighting, not 
inline folding.  Vim doesn't support inline folding.  Vince Negri has 
provided a patch to vim's source (http://vince.negri.googlepages.com/) 
which permits inline folding, though.  I've used that feature in AnsiEsc 
(http://vim.sourceforge.net/scripts/script.php?script_id=302) which 
highlights text using Ansi Escape sequences (while suppressing the 
escape sequences themselves).


However, it is unrealistic to expect that man.vim would support Negri's 
unofficial patch; in fact, there's not many scripts that do.  One 
natural use for such a feature would be to allow LaTeX files to be 
displayed using its embedded directives while suppressing the directives 
themselves, which would make for nice LaTeX editing.


Unfortunately, IMHO, inline folding didn't get enough votes during vim 
7.0's development, and Bram is uncomfortable with the idea of inline 
folding because it, naturally enough, suppresses information (Vince's 
patch typically folds all lines but the current one).  At least, that's 
how I understand the state of things.


Regards,
Chip Campbell



Does 'man' syntax do its job?

2007-01-01 Thread Zvi Har'El
Hi,

I tried to use view with the 'man' syntax, for example on the file vimtutor.man
obtained by

GROFF_NO_SGR=y groff -Tascii -man $(man -w vimtutor) > vimtutor.man

(see http://www.math.technion.ac.il/~rl/etc/vimtutor.man)
(this is not the file vimtutor.man in the vim distribution - the latter
doesn't include embedded backspaces).

I have the following problem: while the character before an embedded backspace
is ignored (sort of: it is colored white), the backspace is printed as a ^H.
I would expect the two characters to be skipped all together. The same effect
is generated without the man syntax, just with sourcing
$VIMRUNTIME/syntax/ctrlh.vim. This is not new to 7.0 - 6.3 shows the same
results. You can see a screen dump of 'gview' in
http://www.math.technion.ac.il/~rl/etc/gview.jpg , and of 'view' on an xterm
with a yellow background in http://www.math.technion.ac.il/~rl/etc/view.jpg.  I
I ran 'gview' and 'view' with the command line

gview -i NONE -c 'syntax on' vimtutor.man

view -i NONE -c 'syntax on' vimtutor.man

Regards,

Zvi
-- 
Dr. Zvi Har'El  mailto:[EMAIL PROTECTED]Department of Mathematics
tel:+972-54-4227607 icq:179294841Technion - Israel Institute of Technology
fax:+972-4-8293388  http://www.math.technion.ac.il/~rl/Haifa 32000, ISRAEL
"If you can't say somethin' nice, don't say nothin' at all." -- Thumper (1942)
   Monday, 11 Tevet 5767,  1 January 2007,  3:34PM