6

I'm familiar with Notepad++'s code collapse for certain programming languages but recently I've been working with a plain text file that uses with Wiki syntax. For example:

==Heading1==
Content
===Heading2===
Content
===Heading3===
Content
==Heading1.1==

into (when I collapse Heading1):

==Heading1==
==Heading1.1==

I want to be able to collapse these headings and all their contents down at different levels, much like how Notepad++ can collapse tags in HTML, hiding all other tags inside it. I think that's as clear as I explain it any suggestions?

Paul
  • 4,764
  • 29
  • 41
meiryo
  • 823
  • 3
  • 9
  • 19
  • from your example, it looks like Heading1 and Heading1.1 are at the same level (with ==) while Heading2 and Heading3 are at another level (with ===) – Bolu Apr 05 '11 at 15:31
  • Yeah, basically I want it to collapse until next heading with same level. – meiryo Apr 05 '11 at 15:37

2 Answers2

3

This can be achieved in SynWrite editor. It has complex user-definable lexers (editor is built-in) in which you can create rules such as:

  • "from = to next ="

  • "from == to next =="

I won't describe how to create lexers for wiki syntax, it's not simple...

Paul
  • 4,764
  • 29
  • 41
RProgram
  • 550
  • 5
  • 18
1

In Notepad++ it is possible to create a new User Defined Language. You can do so by selecting

View->User Define Dialog

Choose "Folder & Default" tab. This tab control the style of the default text (text that has no special attributes or meaning) and the keywords that control the folding. A keyword in the Folder Open group will trigger a new Fold group that can be expanded and collapsed. A keyword in the Folder Close group will close any opened group. This explanation (and more..) is available at npp-community documentation

Eugene S
  • 2,128
  • 7
  • 22
  • 37
  • 4
    The Folder collapsing syntax in User-Defined Language is rather primitive and works by identifying particular strings for the open and close. I doubt it can actually count the number of "=". – Gnubie Feb 23 '12 at 13:06