|
|
|
Is this really included in 7294?
I hate to tell you, but at least for seam's tags it's not yet working (again). Maybe it's because the facelet taglib is called seam-ui.taglib.xml, but the jsp We replace xxx.taglib.xml with xxx.tld when base name xxx is the same
Hello Maxim, this seems like an incomplete and unreliable solution. Shouldn't you actually be looking at the declared namespaces instead of the taglib filenames?
For example, first try to locate the JSP taglib (.tld) for the namespace "http://myfaces.apache.org/trinidad", and only if you can't find ir anywhere in the project, try locating a Facelets taglib (.taglib.xml) for the same namespace. The filenames are completely arbitrary, so you shouldn't depend on them for anything. The approach taken does not require parsing / extra file scanning but indeed not reliable enough for real world jar files so we will provide better fix
Please, check next build I have added the fix
Much better, but now there's a different problem:
If the facelets definition file defines some tags that are not available in the jsp taglib, then Idea marks them completely in red as "unknown tag". For example try using s:convertEntity. Your bug fix seems quite instable:
In 7318 even the trinidad tags are back to knowing "jsfc" as the only valid attribute. (I don't really care for the problem with tags that are defined in facelets, but are missing for jsp. First because It's already fixed in Seam's CVS - though there probably won't be a 1.2.2 release. Then I just patched my local version.) I can confirm that the fix is not robust. It is a bit strange. I downloaded build 7318, removed the entire "system" directory, and opened a project that uses trinidad. I then opened an existing ".jspx" file, and all of the "tr" tags were good – all available attributes are suggested, and quick doc lookup works.
Then I created a new ".jspx" file, and put in a "tr:commandButton". Now only "jsfc" was offered as an attribute. I started adding this comment. I went back to idea to confirm the behaviour, and now the behaviour was correct, all the attributes were now offered. So I created yet another new ".jspx" file, and again on "jsfc" was offered as an attribute for "tr:commandButton". I went back to the previous new jspx file, and it too was now only offering "jspc". So I when back to old existing jspx file that was working initially, and it too had reverted to only knowning about "jsfc". Now all of the tr tags are back working. The behaviour is completely incomprehensible. And I am only drinking coffee right now This issue should not be marked are "Resolved". I am now focussed on using the Rich Faces library (v3.1.0), this has exactly the same problem. For a new user of a component library, this bug makes IDEA essentially useless.
Please reopen this issue – at a minimum this will show the interested parties that Jetbrains realizes there is still a problem. Thanks. Err, Maxim...
Turns out that it is more important to fall back to facelets definitions if a tag is not found in jsp taglib: There are some tags, that cannot work in a jsp environment, so they are intentionally not defined in the taglib, e.g. in Seam: <s:conversationPropagation>. It is really ugly to have these tags completely in red. I consider this issue can be closed (adding necessary new requests as needed)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
IDEADEV-20171which is resolved as fixed in build 7127.However I, too, see the problem in build 7291 for both Trinidad and the JBoss Seam tags.