Repainting question for my syntax highlighter

Hello there,
I have a syntax highlighter which reuses much of the very useful code developed by Claude Dugauy, which can be found at http://www.fawcette.com/javapro/2003_07/magazine/columns/visualcomponents/default_pf.aspx
. The syntax highlighting uses regular expressions, so its easily extendable to meet your needs.
However, there is one problem: whenever the user presses a key, the whole of the TextPane containing the highlighted text, is repainted in its entirety. This is fine for small amounts of text to be highlighted, but is very slow when it comes to 1000+ lines.
Please could someone be so excellent as to tell me how to go about addressing this problem, so that only a small amount of text is repainted whenever the user types something into the TextPane e.g. that inside the current viewport, or just the last typed word - thus removing this problem of inefficiency.
Thanks in advance,
Edd.

I don't think it's going to be that easy. Every time a change is made, the default style is applied to the whole document, then the whole document is copied into a String so it can be reparsed and have the syntax styles applied again. Even if you could limit what actually gets painted, you'd still have all that unnecessary work going on.
You could try forcing the highlighter to only reparse a portion of the document--like,say, a hundred lines before and after the point where the edit occurred--but deciding exactly where to start and stop can be pretty tricky.

Similar Messages

  • Support for LESS syntax highlighting

    With as prevalant as CSS frameworks like LESS and SASS have been in modern web developement, I've been very surprised that DW doesn't seem to understand either file by default.
    I use LESS, and would love for DW to be able to understand the syntax (and color accordingly) LESS files.

    Dreamweaver currently does not support SASS/LESS syntax in any version. All you can do is to force it to treat them as normal CSS files. CSS code hint therefore works but you cannot get  proper syntax colouring (until someone write an extension .)
    ...ah then I found this: https://github.com/adamcoulombe/dw-compass-codehints
    I will try this tomorow
    Kenneth Kawamoto
    http://www.materiaprima.co.uk/

  • [self-SOLVED]vim + lilypond syntax highlighting

    I'm trying to get vim to use syntax highlighting in lilypond files. Apparently lilypond comes with the necessary files, but I have not been able to make vim find them (?). I am not very experienced with vi(m), so there might be something wrong with my setup.
    I have, of course, both vim and lilypond installed. The files for lilypond syntax highlighting are in subdirectories of /usr/share/lilypond/2.12.3/vim/. Vim syntax highlighting works for other files, such as C++, HTML, etc., so no problem there. My ~/.vimrc file contains
    set runtimepath+=/usr/share/lilypond/2.12.3/vim/
    as per instruction given in http://lilypond.org/doc/v2.12/Documenta … m/Vim-mode (and the path is correctly modified). But when I open a lilypond file (with the correct .ly suffix) all I get is black and white. What's the problem?
    [EDIT: Oh heck, nevermind! Apparently I was getting too tired to read instructions properly. Was missing the ~/.vim/filetype.vim file described in the above link.]
    Last edited by lotuskip (2010-04-12 18:33:42)

    You're right about it being overridden.  This change should be able to be placed in ~/.vimrc though.
    Well  that was foolish - I should have read the comments right below in that file.  It says exactly how to set it in vimrc.  I've now added the following to my ~/.vimrc and this is completely solved without modifying the /usr/... file.
    let g:tex_flavor = "tex"
    Last edited by Trilby (2013-03-29 16:11:26)

  • Syntax Highlighting for custom file extensions

    Hi everyone.
    I am currently working on a PHP project, and we are using
    *.thtml files for templates. The file isn't supported by
    Dreamweaver, as it's a fictional file extension. First I couldn't
    even open it with Dreamweaver, but after I added it in
    settings/file types, it worked.
    Now my question - how can I activate syntax highlighting for
    this filetype? It contains HTML and PHP, so it should work with the
    same highlighter as all the other file types do..
    Can someone help me out?
    Thanks.
    - Chris

    Got it
    http://alexle.net/archives/119

  • Syntax Highlighting for MATRIXx MathScript and TPL

    There have been some questions about text editors for MATRIXx, so I wanted to let everyone know about an application note that we just posted. It describes how to configure a syntax highlighter for use with MathScript and Template Programming Language (TPL). There is also an example of how Crimson Editor can be configured. I choose Crimson Editor because it was free, but the same thing can be done in other syntax highlighters. Using a syntax highlighter makes MATRIXx code a lot easier to read.
    http://zone.ni.com/devzone/conceptd.nsf/webmain/C43375149CB01C3186256E530081EAA5
    While I am at it, I am going to point out some other resources. The application note is located on Developer Zone section of our website, where
    you can find other MATRIXx examples and tutorials:
    http://zone.ni.com/devzone/devzone.nsf/webcategories/A92DB8BA2DE149F486256CBC00655A0C?opendocument
    If you have code or examples that you want to share with other users you can submit the example to the Example Code Library:
    http://www.ni.com/devzone/dev_exchange/ex_search.htm
    Suggestions and feedback can be submitted from Product Feedback section of Contact NI:
    http://sine.ni.com/apps/we/nicc.call_me?p_action=country&p_lang_id=US
    And of course the main MATRIXx page is:
    http://www.ni.com/matrixx
    Carl L
    National Instruments

    I found another editor with syntax highlighting capabilities for MATRIXx. The editor is VIM which is based on the Unix VI editor, and is available on both Solaris and Windows.
    www.vim.org
    Carl L
    National Instruments
    www.ni.com/matrixx

  • How to enable syntax highlighting for jspf files on Dreamweaver CS5.5 on Mac

    I ran into an issue where I couldn't get the color coding (color coding style) for java server pages fragments (.jspf) files to show syntax highliting.
    I followed the adobe instructions on Changing and adding file extensions recognized by Dreamweaver without any luck.
    Here is the solution that worked for me:
    On a Mac:
    1. Edit the /Users/YOUR USER/Library/Application Support/Adobe/Dreamweaver CS5.5/en_US/Configuration/DocumentTypes/MMDocumetTypes.xml
    Note: the Adobe instructions tell you to edit /Applications/Adobe Dreamweaver CS5.5/Configuration/DocumentTypes/MMDocumetTypes.xml (Editing this file didn't do anything for me, so you need to change the file above instead)
    Find,
    <documenttype id="JSP" servermodel="JSP" internaltype="Dynamic" winfileextension="jsp,jst" macfileextension="jsp,jst" file="Default.jsp" writebyteordermark="false" mimetype="text/html">
    Replace with,
    <documenttype id="JSP" servermodel="JSP" internaltype="Dynamic" winfileextension="jsp,jst,jspf" macfileextension="jsp,jst,jspf" file="Default.jsp" writebyteordermark="false" mimetype="text/html">
    2. Edit the /Users/YOUR USER/Library/Application Support/Adobe/Dreamweaver CS5.5/en_US/Configuration/Extensions.txt
    In the All: section on top add the jspf extention right after jsp in my example it looked like this
    HTM,HTML,SHTM,SHTML,HTA,HTC,XHTML,STM,SSI,JS,JSON,AS,ASC,ASR,XML,XSL,XSD,DTD,XSLT,RSS,RDF, LBI,DWT,ASP,ASA,ASPX,ASCX,ASMX,CONFIG,CS,CSS,CFM,CFML,CFC,TLD,TXT,PHP,PHP3,PHP4,PHP5,PHP-D IST,PHTML,JSP,WML,TPL,LASSO,JSF,VB,VBS,VTM,VTML,INC,SQL,JAVA,EDML,MASTER,INFO,INSTALL,THEME,CONFIG,MODU LE,PROFILE,ENGINE,SVG:All
    and I added the jspf and it looks like this now,
    HTM,HTML,SHTM,SHTML,HTA,HTC,XHTML,STM,SSI,JS,JSON,AS,ASC,ASR,XML,XSL,XSD,DTD,XSLT,RSS,RDF, LBI,DWT,ASP,ASA,ASPX,ASCX,ASMX,CONFIG,CS,CSS,CFM,CFML,CFC,TLD,TXT,PHP,PHP3,PHP4,PHP5,PHP-D IST,PHTML,JSP,JSPF,WML,TPL,LASSO,JSF,VB,VBS,VTM,VTML,INC,SQL,JAVA,EDML,MASTER,INFO,INSTALL,THEME,CONFIG,MODU LE,PROFILE,ENGINE,SVG:All
    That's it, Quit Dreamweaver and open it up again. Open the .jspf file and see the color coding (syntax highlighting)
    Hope this helps you and seves you time figuring it out. If this helped, do a good thing, next time you figure something out, tell others about it to save their time too, like I did. Enjoy.

    TheGrandNabib wrote:
    I don't seem to have a user Library folder, my only Library folder is on the same level as my Users folder.
    From Locating your personal configuration folder in the Dreamweaver FAQ:
    In Mac OS X (Lion and Mountain Lion), open Finder and press Shift-Cmd-Go. Type ~/Library/Application Support in the dialog box, and click Go. You should then be able to find the configuration folder.

  • [SOLVED] VIM: different syntax highlighting for new vs existing file

    I've had this minor nagging issue for a while that I've been trying to figure out, but I just don't know where to look.
    It is most obvious with LaTeX files (*.tex).  When I create a new file with "vim file.tex" it is recognized as a latex file and I get syntax highlighting, but it seems odd, or off.  When I close then reopen the same file, it gets "propper" syntax highlighting.
    I gather that this must be because of the two different mechanisms for matching the syntax type: filename versus content.  When the file is new, vim only uses the extension.  Once there is a latex comand (e.g., "\documentclass{article}") it recognizes it as something else and the highlighting style is different.
    It turns out just by actually elaborating exactly what the problem was, I was able to find the solution.  I looked for how vim recognizes the files, and found two relevant lines in /usr/share/vim/vim73/filetype.vim on lines 2093 and 2094.  Apparently the .tex filetype is not the same as .latex and others.  I changed it so it was, and I got the desired behavior.
    I thought about just not posting this - but it may be useful for others.

    You're right about it being overridden.  This change should be able to be placed in ~/.vimrc though.
    Well  that was foolish - I should have read the comments right below in that file.  It says exactly how to set it in vimrc.  I've now added the following to my ~/.vimrc and this is completely solved without modifying the /usr/... file.
    let g:tex_flavor = "tex"
    Last edited by Trilby (2013-03-29 16:11:26)

  • Pacman.conf file syntax highlighting for nano

    Hi, here is pacman.conf file syntax highlighting for nano. It may be useful for those who edit their pacman.conf regularly.
    Just put this lines in the end of your /etc/nanorc or ~/.nanorc file:
    # syntax highlithing in pacman.conf
    syntax "pacman.conf" "pacman\.conf$"
    color brightwhite start="\[" end="\]"
    color brightyellow ".*="
    color brightred "=.*"
    color white "="
    color brightblue "\[|\]"
    color brightcyan start="/|http|ftp" end=".*"
    color green "#.*"
    In this thread you can find rc.conf file syntax highlighting.

    thank you! i always accidentally open up nano, find out text is practically unreadable with its default colours, close it and then wait the horrific 4 seconds it takes for emacs to spring to life.

  • Rc.conf file syntax highlighting for nano

    Hey, here is rc.conf file syntax highlighting for nano. It may be useful for those who edit their rc.conf regularly.
    # syntax highlithing in rc.conf
    syntax "rc.conf" "rc\.conf$"
    color brightwhite ""(\\.|[^\"])*""
    color brightwhite "\((\\.|[^\"])*\)"
    color brightred "![^> ]+"
    color brightcyan "@[^> ]+"
    color brightyellow ".*="
    color white "="
    color brightblue ""|\(|\)"
    color green "#.*"
    Put this lines into /etc/nanorc or ~/.nanorc

    thank you! i always accidentally open up nano, find out text is practically unreadable with its default colours, close it and then wait the horrific 4 seconds it takes for emacs to spring to life.

  • Syntax Highlighting for LESS CSS in Dreamweaver CS5.5

    This article describes how to add the .less extension to Dreamweaver so that it views it as CSS and thus performs proper syntax highlighting.
    I'm using Dreamweaver CS5.5 and following those steps still doesn't work for me. It works perfectly fine in CS5 and earlier versions but not CS5.5.
    Do you have any ideas? I'm modifying the following file as the above link suggests:
    C:\Program Files (x86)\Adobe\Adobe Dreamweaver CS5.5\configuration\DocumentTypes\MMDocumentTypes.xml

    Aegis Kleais wrote:
    Sorry, Al, but I couldn't disagree more.  Where I respect the fact that, as coders, we're rather ingrained with our workflow processes and, at times, hesitant to change, I've found LESS' benefits to be very worthwhile.
    No need to apologize. Preprocessing is a topic on which there are differing opinions. You have one. I have one. There are advocates:
    http://blog.urbaninsight.com/2012/04/12/ten-reasons-you-should-be-using-css-preprocessor
    There are those who are not sold:
    http://blog.millermedeiros.com/the-problem-with-css-pre-processors/
    http://www.skybondsor.com/blog/css-preprocessors
    There are those mostly sold:
    http://css-tricks.com/musings-on-preprocessing/
    There are even those who have been converted (but who might reverse at some later point):
    http://cognition.happycog.com/article/preprocess-this
    Heck, even I might be converted someday - or not
    Bottom line for me, right now? I know I can write CSS that is better than most, more efficient than most, and easier to follow than most, and a preprocessor would add unwanted complexity. But that's for me. For someone not able to be organized intutively, or for a large - but carefully coordinated - team, a preprocessor could be a positive.
    But not for me.
    There are evolving trends - popular aspects of the technology that may and should find themselves being adapted into CSS. But I've been around this business as long as CSS has. I've seen buzzwords and trends and I've historically been spot-on in predicting the one that will stick. I think preprocessing will stick - but only insofar as it will be a catalyst for features in future versions of CSS. As a separate technology it makes no sense - to me

  • How do I enable syntax highlighting for jspf files on Dreamweaver CS6 on Windows?

    I followed the instructions (which I modified for CS6) in this posting: http://blog.metameister.com/blog/2011/04/08/open-new-file-types-and-add-syntax-highlightin g-in-dreamweaver-cs5-on-window…
    but it did not work for CS6.
    How do I enable syntax highlighting for jspf files on Dreamweaver CS6 on Windows 7?
    cheers
    Marvin in Edmonton

    Ok, I figured it out after hunting for a few hours.
    Step 1. Add the File Type
    In Dreamweaver’s toolbar:
    Select Edit > Preferences; 
    under File Types / Editors, add .jspf to the line “Open in Code View:”.
    Step 2. Extensions.txt
    Add file type .jspf to the Extensions.txt files. There are two of these files:
    C:\Users\[username]\AppData\Roaming\Adobe\Dreamweaver CS6\en_US\Configuration
    C:\Program Files (x86)\Adobe\Adobe Dreamweaver CS6\configuration
    Step 3. MMDocumentTypes.xml
    Add jspf to the MMDocumentTypes.xml files. Open this file in Notepad or Text Editor. Do not modify the Dreamweaver configuration files within Dreamweaver.
    There are three MMDocumentTypes.xml files to be modified: 
    C:\Program Files (x86)\Adobe\Adobe Dreamweaver CS6\configuration\DocumentTypes
    C:\Users\mhaagsma\AppData\Roaming\Adobe\Dreamweaver CS6\en_US\Configuration
    C:\Users\mhaagsma\AppData\Roaming\Adobe\Dreamweaver CS6\en_US\Configuration\DocumentTypes\
    Step 4. Restart Dreamweaver
    Hopefully the file type will now be recognized and appear with syntax highlighting.

  • Would like to use syntax highlighting in body text for code snippets

    I have a feeling this isn't actually possible without a whole lot of manual work, but I want to preserve syntax highlighting in code examples in my online help. Like this:
    All I can do is black text. |:^(
    I am using Robohelp 7, generating to WebHelp.
    Thanks for any help anyone can pass on!

    Hi all
    I'm not sure if it's a feasible solution for you, but what about displaying the code (complete with color coding - oops, that's colour coding for you English chaps) in whatever application you use. Then grab a screen capture of the relevant area and insert as an image in RoboHelp.
    My thought here is that you could maintain the code in the other app in case you need to change it at some point. Then if it does change, just snag another image.
    Cheers... Rick
    Helpful and Handy Links
    RoboHelp Wish Form/Bug Reporting Form
    Begin learning RoboHelp HTML 7 or 8 within the day - $24.95!
    Adobe Certified RoboHelp HTML Training
    SorcerStone Blog
    RoboHelp eBooks

  • Nano syntax highlighting: catch-all syntax for configuration files

    After years of using nano, I only recently learned that it supports syntax coloring... (Why would they turn that off by default? ) Well, I thought I'll make up for it by making extra good use of it from now on...
    Unfortunately it didn't ship a highlighting syntax for the the kind of files that I use nano the most for: system configuration files.
    So I wrote my own, and after tweaking a bit here and there whenever I encountered a config file for which the highlighting wasn't satisfactory at first, I think the result is now good enough (screenshots below) that it's worth sharing with my fellow Arch users:
    Code & Instructions:
    Here is the syntax definition:
    # config file highlighting
    syntax "conf" "(\.(conf|config|cfg|cnf|rc|lst|list|defs|ini|desktop|mime|types|preset|cache|seat|service|htaccess)$|(^|/)(\w*crontab|mirrorlist|group|hosts|passwd|rpc|netconfig|shadow|fstab|inittab|inputrc|protocols|sudoers)$|conf.d/|.config/)"
    # default text
    color magenta "^.*$"
    # special values
    icolor brightblue "(^|\s|=)(default|true|false|on|off|yes|no)(\s|$)"
    # keys
    icolor cyan "^\s*(set\s+)?[A-Z0-9_\/\.\%\@+-]+\s*([:]|\>)"
    # commands
    color blue "^\s*set\s+\<"
    # punctuation
    color blue "[.]"
    # numbers
    color red "(^|\s|[[/:|<>(){}=,]|\])[-+]?[0-9](\.?[0-9])*%?($|\>)"
    # keys
    icolor cyan "^\s*(\$if )?([A-Z0-9_\/\.\%\@+-]|\s)+="
    # punctuation
    color blue "/"
    color brightwhite "(\]|[()<>[{},;:=])"
    color brightwhite "(^|\[|\{|\:)\s*-(\s|$)"
    # section headings
    icolor brightyellow "^\s*(\[([A-Z0-9_\.-]|\s)+\])+\s*$"
    color brightcyan "^\s*((Sub)?Section\s*(=|\>)|End(Sub)?Section\s*$)"
    color brightcyan "^\s*\$(end)?if(\s|$)"
    # URLs
    icolor green "\b(([A-Z]+://|www[.])[A-Z0-9/:#?&$=_\.\-]+)(\b|$| )"
    # XML-like tags
    icolor brightcyan "</?\w+((\s*\w+\s*=)?\s*("[^"]*"|'[^']*'|!?[A-Z0-9_:/]))*(\s*/)?>"
    # strings
    color yellow "\"(\\.|[^"])*\"" "'(\\.|[^'])*'"
    # comments
    color white "#.*$"
    color blue "^\s*##.*$"
    color white "^;.*$"
    color white start="<!--" end="-->"
    To install, save the above above code snippet as a file called conf.nanorc in the folder /usr/share/nano/ (or /usr/local/share/nano/ or similar if you feel strongly about the /usr <--> /usr/local separation), and then add the following to the end of the file /etc/nanorc:
    ## Configuration files (catch-all syntax)
    include "/usr/share/nano/conf.nanorc"
    Hints:
    The colors I chose look good (imo) with the terminal background and color settings that I use, but might not look good, or even readable, with yours, so simply change the color names in the code snippet to whatever you prefer - valid color names are:
    If you use a console with white background, you'll have to change at least the white color I chose for comments and punctuation.
    The first code line in the snippet includes a regular expression that defines for which file names this syntax highlighting should be used. Whenever you encounter a config file that is not matched by this, but you would still like to open it with syntax highlighting, you can manually select this syntax with nano's -Y switch, like so:
    nano -Y conf myConfigFile
    Technical Note:
    It's implemented as a single catch-all syntax, since nano chooses which syntax to apply based on the filename, and in the case of config files usually not much can be learned about the content format from the file name extension (.conf can by anything from flat key/value tuples to XML, .ini can be the official INI format or something else, etc...).
    This means that some compromises have been made, so with this highlighting syntax probably no config file looks 100% as good as a highlighting syntax that would be specifically optimized for one kind of config format, but all in all the vast majority of config files should look pretty good.
    Screenshots:
    /etc/rc.conf,  /etc/hosts:
    /etc/pacman.conf,  /etc/group:
    xorg.conf,  some .desktop file:
    httpd.conf (Apache config),  php.ini:
    More screenshots:
    /etc/fonts/fonts.conf (uses XML)
    /etc/inittab
    /etc/fstab
    /etc/inputrc
    /etc/mime.types
    /etc/protocols
    /etc/xinetd.conf
    See Also:
    nano syntax highlighting: GNU makefiles
    Update [2012-01-28]: Made some more improvements to the syntax definition (see post)
    Last edited by sas (2012-02-01 15:26:43)

    doug piston wrote:I deal with alot of .mk files and would love to see it there.
    You mean GNU makefiles?
    I'm afraid they might be out of scope for this generic config-file syntax.
    Logically they're not system config files, and technically they're a pretty specialized and complex format (different "types" of rules, rules spanning multiple lines, rules containing arbitrary Bash code, etc.).
    This is how an .mk file currently looks with this highlighting syntax:
    $ nano -Y conf /usr/lib/httpd/build/rules.mk
    And apart from highlighting variables of the form $$abc or $(abc), I'm not sure how much can be improved here without breaking the highlighting for more conventional config files.
    It would probably be better to create a specialized highlighting syntax just for .mk files.
    EDIT: I sat down and did just that, here's the result: nano syntax highlighting: GNU makefiles, and here is how the above makefile snipped looks with it:
    Last edited by sas (2012-02-01 15:18:52)

  • Best strategy for creating a Code Editor (w/ syntax highlighting) in flash

    I'm looking into creating a javascript code editor in flash. I would light to include syntax highlighting and am eliciting suggestings on how best to approach it.
    Here are my thoughts so far:
    I don't see anything pre-built, so I'll have to do it myself, am I wrong here?
    I have seen as3syntaxhighlihgt which will take code and turn it into a highlighted HTML file, but not sure whether or not I could find a way to combine that with a text editor that could support html???
    Thanks for any input that can help guide me.
    David

    After more research I've answered this one myself. For anyone else comming across this thread here is what I found:
    as3syntaxhighlight is a good option for code highlighting in flash, see the demo at:
    http://anirudhs.chaosnet.org/blog/2009.01.12.html
    It embeds very easily and quickly.
    Other options exist for editors built in JS that could potentially be ported:
    http://en.wikipedia.org/wiki/Comparison_of_Javascript-based_source_code_editors

  • Bloody newb: use syntax highlighting in Eclipse 3 for *.jsp?

    Hi all
    I'm developing in Java with Eclipse 3 and now I'm learning JSP on my own. I'd like to use the great Features of Eclipse 3 (like syntax completion etc) also in JSP files, but there's whether syntax highlighting nor completion or stuff.
    Can you help me out how to use Eclipse with all its features as a JSP IDE? Thank you.
    Josh

    You need a plugin which supports JSP.
    MyEclipse does (along with a lot of other stuff)
    Lomboz also provides a jsp editor
    You can find a whole lot of eclipse plugins at
    http://www.eclipseplugincentral.com/
    http://eclipse-plugins.2y.net/eclipse/index.jsp
    Cheers,
    evnafets

Maybe you are looking for