unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* customize hideshow.el?
@ 2017-08-13 16:46 Stephen Leake
  2017-08-13 16:58 ` Yuri Khan
  2017-08-13 17:15 ` Eli Zaretskii
  0 siblings, 2 replies; 6+ messages in thread
From: Stephen Leake @ 2017-08-13 16:46 UTC (permalink / raw)
  To: emacs-devel

I'd like to customize hideshow.el to display the first and last line in
each hidden block.

This makes sense (at least to me) for languages like Ada. For example,
suppose I have an "if then else" statement nested in a block:

   declare
   begin
      if  then
      elsif  then
      else
      end if;
   exception
   end;

But I realize the declare block is only needed in the first branch of
the if, so I'd like to change this to:

   if  then
      declare
      begin
      exception
      end;
   elsif  then
   else
   end if;

If all the code fits in one window, this is not hard. But if the "if
then else" is long, I'd like to hide it, so I can easily delete the
"declare begin" and "exception end". But I'd like to be sure where the
beginning and end of the "if then else" is, so I don't accidently delete
part of it:

   declare
   begin
      if  then
      ...
      end if;
   exception
   end;

However, hideshow.el, without any customizations, does this:

   declare
   begin...exception
   end;

I've looked into the hooks in hide-show; I can set
hs-adjust-block-beginning to get this:

   declare
   begin
      if  then...exception
   end;

but there is no corresponding hs-adjust-block-end hook.

Before I start trying to add hs-adjust-block-end, I'm looking for
advice.

Is there any way to use the existing hooks to get what I want?

Are there other modes like hideshow.el that are closer to what I want?

Anyone else want what I want?

-- 
-- Stephe



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-08-27 12:07 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-13 16:46 customize hideshow.el? Stephen Leake
2017-08-13 16:58 ` Yuri Khan
2017-08-14  4:44   ` Clément Pit-Claudel
2017-08-13 17:15 ` Eli Zaretskii
2017-08-13 19:35   ` Stephen Leake
2017-08-27 12:07     ` Stephen Leake

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).