When I fold a tag, I find one part of its behavior intuitive and two or three parts counter-intuitive.
If I fold a tag, select and cut it, then paste it elsewhere, then the element and all its contents are removed properly and inserted properly.
That's what I would expect.
If, however, I am pasting this element into another file, and I have folded the tags there, pasting is counter-intuitive. Clicking after a folded tag and pasting actually inserts the material _into_ the preceding element.
And then I bring in an element constructed elsewhere, which I want to insert between <NorthAmerica> and <Europe>, if I click between those two elements and paste, I _don't get this:
in which the inserted element becomes a child of the previous folded element.
(I'm not exactly sure where the inserted element is put -- it might be at the end, but I was concerned about getting the file right and didn't take note of that part.)
I'm not 100 percent sure, but I beleive that in an earlier session I clicked following a folded tag and added a new element and that element ended up as a child of the folded element instead of as a sibling.
I don't know what the precise behavior is or what it is intended, but my expectations are that I can't insert-into or alter the contents of a folded element.
Something else about folded tags -- I thought as a shortcut that changing the element name when it was folded would change both the start and end tags.
Obviously, that doesn't work, but it might be a behavior you want to adopt.
Lastly, a request -- it would be useful to be able to "fold all the children of this element". That is, I could easily get something like this, without having to fold each child separately:
While I'm thinking about it, it might be useful to have a "fold/unfold next generation" command, whereby the unfolding would only affect the descendents of the current element (or maybe I could "pin" a designator onto that element for some period of time, keeping all its sibling elements folded while my fold- and unfold-descendents actions proceeded).
I mention this because in order to troubleshoot the cut-and-paste actions described above, I had to fold and unfold dozens of elements until I understood what had happened -- the tree wasn't tree-like enough for me to recognize that the insert had gone awry, and unfolding everything meant I couldn't see the tree for the branches, if you will :-).
Thanks,
Roger
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks Roger, I need to check this out. Swamped at work right now but will try to make next week a more productive one for the project. Must get the find/replace/F3 fixes and command pane out the door...
-Gerald
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I should add one more disconcerting thing about folded tags.
I have at the moment 11 applications open, including 2 browser windows with 18 tabs open between them, 3 documents in Adobe Acrobat, and 2 Excel spreadsheets.
I usually don't get all of my XML files syntax colored, if the document is more than a few pages long.
What's disconcerting is when I collapse an element and it doesn't collapse all the way, but just to the last end tag that is syntax colored.
I realize this is related to memory, but it renders this feature useless just when it's needed most to facilitate navigation of a long document.
Don't mean to sound like I'm complaining, but only to let you know my experiences.
Keep up the fab work!
Roger
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hey, I completely understand how work gets first demand on your time. There aren't any showstoppers in what I've written to you about, so I'm not suffering.
With me, the same work swamp means I end up reporting about different things to you in clumps -- it's not because I encountered four different problems in one session that you get four threads from me in one sitting. :-)
Good luck. Let me know if there's anything I can do/try when you get to this.
Roger
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The scenario you describe is fascinating - to be honest I'm glad the editor component makes a valiant attempt at scaling down its scope (rather than throw a lack-of-resource exception). For now, the lexer is a central part of the program's design (it's what enables the editor to open 32+ MB files, something some other editors are unable to do), so if the lexer calls a time out there may not be a lot I can do.
<What's disconcerting is when I collapse an element and it doesn't collapse all the way, but just to the last end tag that is syntax colored.>
This is how Scintilla (the editor component) works: folding is not controlled by the application, but part and parcel of the syntax highlighting process. This is quite efficient (though it also complicates the lexer design - I really want to write a dedicated XML lexer but the complexity of folding has held me back so far) but it does take some control away from the application.
-Gerald
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
When I fold a tag, I find one part of its behavior intuitive and two or three parts counter-intuitive.
If I fold a tag, select and cut it, then paste it elsewhere, then the element and all its contents are removed properly and inserted properly.
That's what I would expect.
If, however, I am pasting this element into another file, and I have folded the tags there, pasting is counter-intuitive. Clicking after a folded tag and pasting actually inserts the material _into_ the preceding element.
That is, if I have the following target file
<world>
<NorthAmerica>
...
</NorthAmerica>
<Europe>
...
</Europe>
</world>
and I fold the tags so that it looks like this:
<world>
[+]<NorthAmerica>
[+]<Europe>
</world>
And then I bring in an element constructed elsewhere, which I want to insert between <NorthAmerica> and <Europe>, if I click between those two elements and paste, I _don't get this:
<world>
<NorthAmerica>
...
</NorthAmerica>
<SouthAmerica>
...
</SouthAmerica>
<Europe>
...
</Europe>
</world>
That is, instead of getting three siblings, I get this:
<world>
<NorthAmerica>
...
<SouthAmerica>
...
</SouthAmerica>
...
</NorthAmerica>
<Europe>
...
</Europe>
</world>
in which the inserted element becomes a child of the previous folded element.
(I'm not exactly sure where the inserted element is put -- it might be at the end, but I was concerned about getting the file right and didn't take note of that part.)
I'm not 100 percent sure, but I beleive that in an earlier session I clicked following a folded tag and added a new element and that element ended up as a child of the folded element instead of as a sibling.
I don't know what the precise behavior is or what it is intended, but my expectations are that I can't insert-into or alter the contents of a folded element.
Something else about folded tags -- I thought as a shortcut that changing the element name when it was folded would change both the start and end tags.
Obviously, that doesn't work, but it might be a behavior you want to adopt.
Lastly, a request -- it would be useful to be able to "fold all the children of this element". That is, I could easily get something like this, without having to fold each child separately:
<world>
[-]<NorthAmerica>
[+]Canada
[+]Mexico
[+]USA
[+]<SouthAmerica>
[+]<Europe>
</world>
While I'm thinking about it, it might be useful to have a "fold/unfold next generation" command, whereby the unfolding would only affect the descendents of the current element (or maybe I could "pin" a designator onto that element for some period of time, keeping all its sibling elements folded while my fold- and unfold-descendents actions proceeded).
I mention this because in order to troubleshoot the cut-and-paste actions described above, I had to fold and unfold dozens of elements until I understood what had happened -- the tree wasn't tree-like enough for me to recognize that the insert had gone awry, and unfolding everything meant I couldn't see the tree for the branches, if you will :-).
Thanks,
Roger
Thanks Roger, I need to check this out. Swamped at work right now but will try to make next week a more productive one for the project. Must get the find/replace/F3 fixes and command pane out the door...
-Gerald
I should add one more disconcerting thing about folded tags.
I have at the moment 11 applications open, including 2 browser windows with 18 tabs open between them, 3 documents in Adobe Acrobat, and 2 Excel spreadsheets.
I usually don't get all of my XML files syntax colored, if the document is more than a few pages long.
What's disconcerting is when I collapse an element and it doesn't collapse all the way, but just to the last end tag that is syntax colored.
I realize this is related to memory, but it renders this feature useless just when it's needed most to facilitate navigation of a long document.
Don't mean to sound like I'm complaining, but only to let you know my experiences.
Keep up the fab work!
Roger
Hey, I completely understand how work gets first demand on your time. There aren't any showstoppers in what I've written to you about, so I'm not suffering.
With me, the same work swamp means I end up reporting about different things to you in clumps -- it's not because I encountered four different problems in one session that you get four threads from me in one sitting. :-)
Good luck. Let me know if there's anything I can do/try when you get to this.
Roger
The scenario you describe is fascinating - to be honest I'm glad the editor component makes a valiant attempt at scaling down its scope (rather than throw a lack-of-resource exception). For now, the lexer is a central part of the program's design (it's what enables the editor to open 32+ MB files, something some other editors are unable to do), so if the lexer calls a time out there may not be a lot I can do.
<What's disconcerting is when I collapse an element and it doesn't collapse all the way, but just to the last end tag that is syntax colored.>
This is how Scintilla (the editor component) works: folding is not controlled by the application, but part and parcel of the syntax highlighting process. This is quite efficient (though it also complicates the lexer design - I really want to write a dedicated XML lexer but the complexity of folding has held me back so far) but it does take some control away from the application.
-Gerald