* Automatic indentation of org tree @ 2009-07-27 20:04 User 2009-07-27 20:47 ` Bastien 0 siblings, 1 reply; 10+ messages in thread From: User @ 2009-07-27 20:04 UTC (permalink / raw) To: emacs-orgmode I put this package here too if someone's interested in developing it, because it's unlikely I will have the time to work on it. http://www.emacswiki.org/emacs/orgindent.el Once loaded M-x orgindent-activate activates indentation in the current buffer, so everything under a header is indented according to level. Default indent size is 2 (configurable). There are some unpolished parts in it (e.g. the header regexp is hardcoded), but aside from those, it seemed to work well in the few tests I run. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Automatic indentation of org tree 2009-07-27 20:04 Automatic indentation of org tree User @ 2009-07-27 20:47 ` Bastien 2009-07-28 4:25 ` User 0 siblings, 1 reply; 10+ messages in thread From: Bastien @ 2009-07-27 20:47 UTC (permalink / raw) To: User; +Cc: emacs-orgmode User <spamfilteraccount@gmail.com> writes: > I put this package here too if someone's interested in developing > it, because it's unlikely I will have the time to work on it. > > http://www.emacswiki.org/emacs/orgindent.el Is this supposed to fix a problem or to provide a new functionality? If it is a new functionality, so far so good. But if it fixes a problem, better to say what the problem is and try to solve it in Org. Thanks! -- Bastien ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Automatic indentation of org tree 2009-07-27 20:47 ` Bastien @ 2009-07-28 4:25 ` User 2009-07-28 12:05 ` Bastien 0 siblings, 1 reply; 10+ messages in thread From: User @ 2009-07-28 4:25 UTC (permalink / raw) To: emacs-orgmode Bastien <bastienguerry <at> googlemail.com> writes: > > User <spamfilteraccount <at> gmail.com> writes: > > > I put this package here too if someone's interested in developing > > it, because it's unlikely I will have the time to work on it. > > > > http://www.emacswiki.org/emacs/orgindent.el > > Is this supposed to fix a problem or to provide a new functionality? > > If it is a new functionality, so far so good. But if it fixes a > problem, better to say what the problem is and try to solve it in Org. It is a possible solution to the clean view problem mentioned in the org manuual: Indentation of text below headlines You may indent text below each headline to make the left boundary line up with the headline, like *** 3rd level more text, now indented A good way to get this indentation is by hand, and Org supports this with paragraph filling, line wrapping, and structure editing99 preserving or adapting the indentation as appropriate. A different approach would be to have a way to automatically indent lines according to outline structure by adding overlays or text properties. But I have not yet found a robust and efficient way to do this in large files. http://orgmode.org/manual/#Clean-view The solution I posted implements that different approach, so you don't have to do the indentation by hand. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Re: Automatic indentation of org tree 2009-07-28 4:25 ` User @ 2009-07-28 12:05 ` Bastien 2009-07-28 19:32 ` User 0 siblings, 1 reply; 10+ messages in thread From: Bastien @ 2009-07-28 12:05 UTC (permalink / raw) To: User; +Cc: emacs-orgmode User <spamfilteraccount@gmail.com> writes: > It is a possible solution to the clean view problem mentioned in > the org manuual: > > Indentation of text below headlines > > You may indent text below each headline to make the left > boundary line up with the headline, like > > *** 3rd level > more text, now indented > > > A good way to get this indentation is by hand, and Org supports > this with paragraph filling, line wrapping, and structure > editing99 preserving or adapting the indentation as > appropriate. A different approach would be to have a way to > automatically indent lines according to outline structure by > adding overlays or text properties. But I have not yet found a > robust and efficient way to do this in large files. > > http://orgmode.org/manual/#Clean-view > > > The solution I posted implements that different approach, so you > don't have to do the indentation by hand. Okay, I see. I tested your code but there are several problems: it is not usable on big files, and even on small files the auto-indentation is confusing. For example, stars get indented while there should not. I guess this is still work-in-progress -- hope you'll find ways to fix the problems above! -- Bastien ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Automatic indentation of org tree 2009-07-28 12:05 ` Bastien @ 2009-07-28 19:32 ` User 2009-07-29 5:41 ` Bastien 2009-08-03 4:36 ` Carsten Dominik 0 siblings, 2 replies; 10+ messages in thread From: User @ 2009-07-28 19:32 UTC (permalink / raw) To: emacs-orgmode Bastien <bastienguerry <at> googlemail.com> writes: > > I tested your code but there are several problems: it is not usable on > big files, The size of the file shouldn't matter, since only lines in the current window are indented. Probably, some trivial bug remained in it which my tests didn't cover. > and even on small files the auto-indentation is confusing. > For example, stars get indented while there should not. It's a matter of taste. I didn't find it confusing. But it's trivial to change it to avoid indenting header lines. > I guess this is still work-in-progress -- hope you'll find ways > to fix the problems above! It's a proof-of-concept package, but I think the underlining concept is solid. If someone motivated spends a little time on it then I'm sure the problems can be ironed out quickly. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Re: Automatic indentation of org tree 2009-07-28 19:32 ` User @ 2009-07-29 5:41 ` Bastien 2009-08-03 4:36 ` Carsten Dominik 1 sibling, 0 replies; 10+ messages in thread From: Bastien @ 2009-07-29 5:41 UTC (permalink / raw) To: User; +Cc: emacs-orgmode User <spamfilteraccount@gmail.com> writes: > Bastien <bastienguerry <at> googlemail.com> writes: >> >> I tested your code but there are several problems: it is not usable on >> big files, > > The size of the file shouldn't matter, since only lines in the > current window are indented. Probably, some trivial bug remained > in it which my tests didn't cover. Okay. >> and even on small files the auto-indentation is confusing. >> For example, stars get indented while there should not. > > It's a matter of taste. I didn't find it confusing. But it's > trivial to change it to avoid indenting header lines. "Confusing" was a polite version of "buggy" :) >> I guess this is still work-in-progress -- hope you'll find ways >> to fix the problems above! > > It's a proof-of-concept package, but I think the underlining > concept is solid. If someone motivated spends a little time on it > then I'm sure the problems can be ironed out quickly. As you already guessed, I try to make *you* spend a little more time on it :) Because I think the idea is nice and the code can be useful. -- Bastien ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Re: Automatic indentation of org tree 2009-07-28 19:32 ` User 2009-07-29 5:41 ` Bastien @ 2009-08-03 4:36 ` Carsten Dominik 2009-08-03 16:49 ` Eric S Fraga 1 sibling, 1 reply; 10+ messages in thread From: Carsten Dominik @ 2009-08-03 4:36 UTC (permalink / raw) To: User; +Cc: emacs-orgmode On Jul 28, 2009, at 9:32 PM, User wrote: > Bastien <bastienguerry <at> googlemail.com> writes: >> >> I tested your code but there are several problems: it is not usable >> on >> big files, > > The size of the file shouldn't matter, since only lines in the > current window are indented. Probably, some trivial bug remained > in it which my tests didn't cover. Thanks for being interested in this functionality which I wanted to have for a very long time, and which I have tried to implement several times in the past, without success. Bastien is right that your solution is not working in large files. The reason for this is outline folding. The current window can contain an arbitrary number of lines if these are hidden under a headline. If you try your solution on such file, you will see the large delay caused by the indentation. In addition, the huge number of markers produced to track the overlays will bog down any editing attempts. In fact, your package has just the same problems as my org-indent.el that has been in the contrib directory for some time. Incidentally, I have worked during my vacation on a solution that uses text properties (line-prefix and wrap-prefix) and hooks into font-lock. The reason why it uses font-lock is because the only the display engine is fast enough to figure out which text will be indeed be displayed. The reason why I am using text properties is because they do not seem to use markers and do not slow down editing even if the entire buffer has the properties attached. I am also using a different approach for the headline stars, by enforcing hidestars, and indenting the headline half as much as the text lines to implement a complete clean view with a single command (or startup option....) This solution is for Emacs 23 only, but I believe it is more stable, so I am shipping it now with Org. If anyone wants to try before the next release, put #+STARTUP: indent into a file after pulling the latest git version. - Carsten > >> and even on small files the auto-indentation is confusing. >> For example, stars get indented while there should not. > > It's a matter of taste. I didn't find it confusing. But it's > trivial to change it to avoid indenting header lines. > >> I guess this is still work-in-progress -- hope you'll find ways >> to fix the problems above! > > It's a proof-of-concept package, but I think the underlining > concept is solid. If someone motivated spends a little time on it > then I'm sure the problems can be ironed out quickly. > > > > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Re: Automatic indentation of org tree 2009-08-03 4:36 ` Carsten Dominik @ 2009-08-03 16:49 ` Eric S Fraga 2009-08-04 15:08 ` Carsten Dominik 0 siblings, 1 reply; 10+ messages in thread From: Eric S Fraga @ 2009-08-03 16:49 UTC (permalink / raw) To: Carsten Dominik; +Cc: User, emacs-orgmode At Mon, 3 Aug 2009 06:36:17 +0200, Carsten Dominik wrote: > [...] > This solution is for Emacs 23 only, but I believe it is more stable, > so I am shipping it now with Org. > > If anyone wants to try before the next release, put > > #+STARTUP: indent > > into a file after pulling the latest git version. I like it! However, it obviously isn't intended for use for files where only odd level headings are used? In any case, I still have to use Emacs 22 on one computer so cannot switch over (although would like to!). ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Re: Automatic indentation of org tree 2009-08-03 16:49 ` Eric S Fraga @ 2009-08-04 15:08 ` Carsten Dominik 2009-08-04 17:49 ` Eric S Fraga 0 siblings, 1 reply; 10+ messages in thread From: Carsten Dominik @ 2009-08-04 15:08 UTC (permalink / raw) To: Eric S Fraga; +Cc: User, emacs-orgmode On Aug 3, 2009, at 6:49 PM, Eric S Fraga wrote: > At Mon, 3 Aug 2009 06:36:17 +0200, > Carsten Dominik wrote: >> > > [...] > >> This solution is for Emacs 23 only, but I believe it is more stable, >> so I am shipping it now with Org. >> >> If anyone wants to try before the next release, put >> >> #+STARTUP: indent >> >> into a file after pulling the latest git version. > > I like it! However, it obviously isn't intended for use for files > where only odd level headings are used? > > In any case, I still have to use Emacs 22 on one computer so cannot > switch over (although would like to!). Hmmm, it would not be hard to make this work under odd-levels conditions. However, when you are using odd levels and hidestars for clean view under Emacs 22, I would suspect that you are also indenting text under the headline by hand. This will then look bad if you use the same file under Emacs 23 with org-indent-mode turned on. ? - Carsten ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Re: Automatic indentation of org tree 2009-08-04 15:08 ` Carsten Dominik @ 2009-08-04 17:49 ` Eric S Fraga 0 siblings, 0 replies; 10+ messages in thread From: Eric S Fraga @ 2009-08-04 17:49 UTC (permalink / raw) To: Carsten Dominik; +Cc: User, emacs-orgmode At Tue, 4 Aug 2009 17:08:23 +0200, Carsten Dominik wrote: > > > On Aug 3, 2009, at 6:49 PM, Eric S Fraga wrote: > > > At Mon, 3 Aug 2009 06:36:17 +0200, > > Carsten Dominik wrote: > >> > > > > [...] > > > >> This solution is for Emacs 23 only, but I believe it is more stable, > >> so I am shipping it now with Org. > >> > >> If anyone wants to try before the next release, put > >> > >> #+STARTUP: indent > >> > >> into a file after pulling the latest git version. > > > > I like it! However, it obviously isn't intended for use for files > > where only odd level headings are used? > > > > In any case, I still have to use Emacs 22 on one computer so cannot > > switch over (although would like to!). > > Hmmm, > > it would not be hard to make this work under odd-levels conditions. > However, when you are using odd levels and hidestars for clean view > under Emacs 22, I would suspect that you are also indenting text > under the headline by hand. This will then look bad if you use > the same file under Emacs 23 with org-indent-mode turned on. > > ? > > - Carsten Well, I do sometimes indent text but not often so this aspect is fine with the org-indent-mode. The odd-levels issue is really a non-issue. Given the new org-indent-mode, it's not really needed (if I correctly interpreted the output I got!) so it would simply be a matter of converting my org files to odd+even headings. But I'll wait until I'm fully Emacs 23 before I even think about this! And that might be a long time as it depends on somebody building Emacs 23 for the Nokia N8x0 tablets. Thanks, eric ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2009-08-04 17:49 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-07-27 20:04 Automatic indentation of org tree User 2009-07-27 20:47 ` Bastien 2009-07-28 4:25 ` User 2009-07-28 12:05 ` Bastien 2009-07-28 19:32 ` User 2009-07-29 5:41 ` Bastien 2009-08-03 4:36 ` Carsten Dominik 2009-08-03 16:49 ` Eric S Fraga 2009-08-04 15:08 ` Carsten Dominik 2009-08-04 17:49 ` Eric S Fraga
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs/org-mode.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).