User Defined File Types and Custom HTML Tags

Custom HTML Tags
Firstly I have an environment where our HTML/JSP and any other webroot served content gets parsed with a servlet that picks up and translates special XML tags it finds in the content into HTML and/or JavaScript.

It's nice that I can add unknown HTML tags and cause the IDE to recognize that these are not errors but I wish for the following:

  • Select which attributes apply to which custom tags

  • Select which highlighting/file type is associated with the content of a particular node; for example: I have a custom tag whose content is always JavaScript, I'd like the syntax highlighting, inspections, auto completion and formatting.


Basically I'd like to see a popup with a text area for the tag name, button for whether or not case sensitivity is an issue, list box with attributes associated with this tag. Each attribute would have a custom dialog allowing you to specify if the name was case sensitive, the type of content allowed in the attribute value and if we're pushing it a regular expression field for validation. Finally I'd like to see a check box stating whether or not the tag may have a body and if so then some more options as to what tags are allowed in the body or which language syntax and ruleset IDEA should use for the body of that tag.

User Defined File Types
In the vein of the last paragraph, I'd like to see a way that we can associate and create new syntax highlighting types through a gui for either a project or IDE wide usage. With import and export capabilities. This would include functionality above for tag based languages and then simple highlighting and coloring for other languages. Perhaps the ability to specify a list of keywords as well as a list of context provided objects. An example of context provided objects would be the document object, the location object and the navigator object you'd get in a JavaScript block. These exist for you and are provided by the browser.

For tag based languages perhaps the allowance of a DTD or Schema upload as a base would be great. Then allowing us to specify to IDEA which highlighting should be used for CDATA areas defaulting to regular text for anything not indicated by the user.

Lastly
Is there a way to manually write custom highlighting for our own file types at the moment? Where can I find this information?

4 comments

some of your suggestions already exist and would allow for plugins/user interface to extend the standard JSP/HTML features:

Allow customizations of default FileTypes
http://www.jetbrains.net/jira/browse/IDEADEV-3455

Need ability to override IDEA's builtin ReferenceProviders
http://www.jetbrains.net/jira/browse/IDEA-6410

Provide OpenAPI to register JS support for JSP custom tag attributes
http://www.jetbrains.net/jira/browse/IDEA-6385

OpenAPI: extension points for custom XML content validation
http://www.jetbrains.net/jira/browse/IDEA-624

API for embedding custom languages into XML & Co
http://www.jetbrains.net/jira/browse/IDEADEV-5500

and these are just a few of them, you will find more requests in that direction

you can do custom highlighting in your own filetype, just have a look at then OpenAPI and http://www.jetbrains.com/idea/documentation/idea_5.0.html

0

Many of these, especially the last one ring very true. I voted on the appropriate ones. Thanks so much for the links. Now to get them implemented.... Is there a page with a decent API documentation on these plugin bits they are talking about? I'd like to take a stab at writing a plugin but not sure where to start.

0

a good starting point is http://www.jetbrains.com/idea/documentation/howto_03.html

other than that, the JavaDoc and example plugins of DevKit http://www.jetbrains.com/idea/download/index.html (click on "Plugin Development")

if you have specific questions you can watch the OpenAPI forum here

0

Buy http://www.momowatch.net/ Buying Burberry http://www.momowatch.net/category-151-b0-Eberhard-Co.html is known as a fantastic investment. Just seeing the http://www.momowatch.net/category-62-b0-Glashutte.html will give you some different feelings. http://www.momowatch.net/category-192-b0-Richard-mille.html The company offers an outstanding line of fashionable http://www.momowatch.net/category-189-b0-Puma.html, many of which offer a stylish take on old world qualities such as flawless design and unique attention to detail. These http://www.momowatch.net/category-204-b0-Ulysse-Nardin.html are popular among those http://www.momowatch.net/category-78-b0-Piaget.html collectors. The more people know about these http://www.momowatch.net/category-54-b0-Christian-Dior.html, the more they love them. http://www.momowatch.net/category-53-b0-Chopard.html have an Italian inspiration to them. The company is part of the Geco http://www.momowatch.net/category-202-b0-Tommy-Bahama.htmlCompany and has such has a small stake in a much larger company. http://www.momowatch.net/category-140-b0-Casio.html are designed to have top of the line modern technology included in them, which is seen throughout each of the pieces. http://www.momowatch.net/category-188-b0-Pulsar.html These http://www.momowatch.net/category-139-b0-Carl-F-Bucherer.html have been technologically advanced for some time. http://www.momowatch.net/category-63-b0-Graham.html The company has been producing http://www.momowatch.net/category-137-b0-Bulova.html of this quality for over 20 years, http://www.momowatch.net/category-156-b0-Festina.html and many of their pieces are sought after by those who http://www.momowatch.net/category-53-b0-Chopard.html for accuracy and function in some of the worst situations. The Tudor http://www.momowatch.net/category-51-b0-Cartier.html have a history that falls back on their name. These models of http://www.momowatch.net/category-196-b0-Sarcar.html are designed to give divers the needed accuracy and technology they need when their lives depend on it. Several of the Immersion http://www.momowatch.net/category-137-b0-Bulova.html have been used in military diving while others are established as recreational pieces such as the scuba diving http://www.momowatch.net/category-236-b0-SubMariner.html. Immersion http://www.momowatch.net/category-156-b0-Festina.html are available in a number of styles. http://www.momowatch.net/category-228-b0-Band.html One of the most well known is the Deep Quartz alarm chronograph. This http://www.momowatch.net/category-169-b0-Invicta.html is unique because of its look and function. It is a stainless steel bodied http://www.momowatch.net/category-126-b0-Accutron.html that has a date system as well as a chronograph alarm system in it. http://www.momowatch.net/category-230-b0-Daytona.html It also features a Swiss made quartz mechanism within it and is 10 atm water resistant. http://www.momowatch.net/category-90-b0-Baume-Mercier.html While it works like a charm, the http://www.momowatch.net/category-81-b0-Tag-Heuer.html is also stylish with its stainless steel bracelet design, http://www.momowatch.net/category-57-b0-Croum.html featuring a safety clasp. http://www.momowatch.net/category-57-b0-Croum.html Another important model in the Immersion http://www.momowatch.net/category-161-b0-Gevril.html line is the Black Underwater http://www.momowatch.net/category-201-b0-Tissot.html. With a further benefit of 10 atm water resistance, this http://www.momowatch.net/category-79-b0-Rado.html is a great investment for the water lover. http://www.momowatch.net/category-150-b0-DKNY.html It has a great looking black dial with florescent numbers on it, http://www.momowatch.net/category-99-b0-Omega.html for underway seeing. http://www.momowatch.net/category-200-b0-TechnoMarine.html It also has a stainless steel case and a domed mineral glass. http://www.momowatch.net/category-153-b0-Elini.html There is a date window on the http://www.momowatch.net/category-234-b0-DateJust.html, and it features a dial with sunray effect and applied indexes. http://www.momowatch.net/category-145-b0-Corum.html Other popular options for the Immersion http://www.momowatch.net/category-101-b0-Panerai.html include the Club Immersion, http://www.momowatch.net/category-147-b0-Daniel-Roth.htmlThe Full Underwater Chronograph and the Quad Quartz http://www.momowatch.net/category-240-b0-Raymond-weil.html, each offering something new and advanced for the user. http://www.momowatch.net/category-198-b0-Skagen.html replica swiss valjoux 7750 can be bought online at low price as long as you have the ability to find them. http://www.momowatch.net/category-166-b0-Hamilton.html These http://www.momowatch.net/category-103-b0-Vacheron-Constantin.html are well known around the world as leading underwater http://www.momowatch.net/category-73-b0-Movado.html, designed to work in harsh conditions flawlessly. http://www.momowatch.net/category-47-b0-Breguet.html You are sure to enjoy your life with such a http://www.momowatch.net/category-138-b0-Burett.html. Try such a http://www.momowatch.net/category-138-b0-Burett.html and you will understand what I am saying.

---
Original message URL: http://devnet.jetbrains.net/message/5278653#5278653

0

Please sign in to leave a comment.