Menu

New UserDefinedLanguage module

Loreia2
2011-07-30
2015-04-30
<< < 1 2 3 4 5 .. 14 > >> (Page 3 of 14)
  • icegood

    icegood - 2012-02-20

    If font size is mentioned (e.g. Delimiter 1) - cannot be removed anymore. Only direct rewritting of xml helps.

     
  • Loreia2

    Loreia2 - 2012-02-20

    Hi icegod,

    thank you for your input.
    I presume you used the binaries that can be found at the beginning of this thread.
    That version is obsolete now, and I am happy to report that current version works as expected.
    Here is the screenshot:

    Thank you for your input regarding keyword precedence order. This is one of the areas where I always want more input from users.

    Regarding project status, I can only say that I've sent preliminary version of code to Don for code review, and that I am currently working on performance optimizations. This whole weekend was an exercise in frustration, because I couldn't figure out why was UDL 2 three times slower than UDL 1 (test file is 100.000 lines of TTCN code, this is a real code not a sample)

    Finally, with the help of code profiler , I was able to find the bottle-neck, and latest test showed that UDL 2 was three times faster than UDL 1. Quite a difference, I'd say!  The problem was, I had to change Scintilla code to achieve performance boost ( I skipped some unnecessary window repainting ) and now I need to check if I broke something :-)
    So, development is still quite dynamic, but results are promising.

    We'll see what Don has to say, after he finds some time to check the code.

    Thank you and best regards,
    Loreia

     
  • icegood

    icegood - 2012-02-20

    Where can i get new binaries??? I really want test them :) Those slowness it's not problem for me. It's OK for now.

     
  • Loreia2

    Loreia2 - 2012-02-20

    Hi icegod,

    binaries are still not available for public download, but if you wish, I can send you the current version of UDL 2.0 to play with it.
    Just drop me an e-mail at:

    udlv20 at google mail dot com

    Keep in mind that I can't give you much support at the moment, and that I might be slow in responding to your e-mails.

    Thank you and best regards
    Loreia

     
  • Funghie

    Funghie - 2012-03-19

    Sorry to be late to the party here - I am relatively new to this. I have just spent 5 hours tryingto do something that I thought would be oh so simple in NP++

    Adding a UDL which has no spaces after keywords.

    For example:

    IF>StatementGoeshere
      Do some stuff
      Let>Var=30
      LEt>AnotherVar=42
      Do some more stuff
    ENDIF
    

    As you can see, many of the keywords (including some of the folding ones) contain ">" as part of the keyword, and there are often no spaces between the keyword and the actual data.

    I thought I was missing something obvious but it seems not. It seems that the current NP++ does not cater fir this.

    So is this (one of the things) what this development  will do? If so please let me have it now! :-)  :-) :-)

    Seriously though - Just thought I would add to the support for this. And tbh very surprising that this is not possible already although  I know the coding style I mention is not standard.

    Thanks,

     
  • Loreia2

    Loreia2 - 2012-03-19

    Hi funghie,

    current implementation of UDL can recognize keywords only if they are surrounded by a whitespace. There are exceptions to this rule, but the general rule is: keywords must be surrounded by white space!
    That is the limitation od UDL that started this whole thread.

    UDL 2.0 is not ready for public release, primarily because I don't have enough time to support beta testers.

    But If you want to get a copy of UDL 2.0 in its current form, please send an e-mail to
    udlv20 att gooogle mail dott com

    Thank you and best regards,
    Loreia

     
  • Funghie

    Funghie - 2012-03-19

    Thanks Loreia, I had a feeling I had found a limitation and that I had also found a fix for it in your thread here. But as I have not experimented in this area using NP++ before I wasn't sure if this was just user error. Anyway thanks for the reply, I have mailed you.

     
  • Funghie

    Funghie - 2012-03-19

    Hi there, Got the V2 working and a few comments if they are any use to you:

    Ignore Case seems not to be working. I noticed this in the thread earlier but just fyi.

    The requirement for a space still seems to be there in the normal Keywords area but not in the Flding area.

    For example - Folding:

    IF>Blah=Blah
     Do stuff
    ENDIF
    

    Highlights and folds correctly.

    Normal keywords "Let>"

    Let>Blah=Blah
    

    Does not highlight

    Let> Blah=Blah
    

    Does highlight.

    Thanks for your hard work on this, it will be awesome when finished.

     
  • Loreia2

    Loreia2 - 2012-03-27

    OK, it looks like I'll have an easier few days this week, so I might as well ask for community support in testing UDL 2.0. Several testers contacted me already and each one found out a number of bugs. I hope larger number of testers can help me reach stable and bug free UDL 2.0.

    Current status of UDL 2.0
    Functionality-wise everything I wanted to put in is already in. Stability is also solid, I haven't had a crash in quite some time, and testers didn't report any issues with crashing. The last thing that bothers me is code readability. I'd like to have another try in making code more concise and readable, but before I do that, I must know that all major things have been ironed out. That's why I am asking for community support in testing this monster.

    Release date:
    After beta testing is done, I'll finish the code. Then the RC testing phase goes and after that UDL 2.0 will be ready for inclusion in main branch.

    How to test:
    Read documentation at http://udl20.weebly.com/
    (No really, read it. It will answer many questions even before you ask them)
    Go to Github download page https://github.com/Loreia/UDL2/downloads .
    Grab the latest version, unpack it in your install directory, stop NPP if it is working (exit application) and start notepad2++.exe.
    This is based on npp 5.9.3 as I didn't have time to merge it with latest version. Sorry about that. RC testing will be merged with latest NPP version.

    How to test:
    Most people will be interested in small subset of UDL 2.0 that is enough for their language, and that is fine. But I'd like people to spend some time to test anything they can think of, any combination of keywords, nesting, importing, exporting and so on. Hint: if you have defined you language in UDL 1, you can import the same definition to UDL 2.0.

    How to report bugs:
    Make a post on this thread. Try to be precise, post minimal amount of code needed to reproduce the error, if necessary include your userDefineLanguage.xml file. If you don't understand some feature, also ask here. Alternatively, you may send me an e-mail, but it is better to ask publicly as others may have the same issue.

    What about feature request:
    Ask them here, but anything than the minor things will be pushed for UDL 3.0. Any major work on UDL 2.0 would delay things too much so I made a decision to freeze it as it is.
    That shouldn't discourage you, because now is the good time to make a list of things for future version.

    Documentation:
    You will read it, right?
    This is a temporary documentation site. I've done it in January as I originally planned to release UDL 2.0 in January. You will notice that UDL was changed in the mean time. I plan to update documentation as time permits, but in the long run I'd like a native English speaker to step in and re-do documentation site (for starters to use proper English :) as static HTML pages so it would be easy to host it on other sites. Any volunteers for the job?

    UDL 2.0 GUI:
    I am really not a GUI guy; I am more "low level abstract algorithm" kind of programmer. My main idea was to follow basic design of UDL 1 and simplify it. One GUI feature that was requested, I still did not implement. Don wanted to be able to see styling without opening stlyer dialog. I've tried to do it, but nothing worked out. If you guys think this is an important feature, let me know.

    So, here it is. UDL 2.0  beta version, please test it, comment it, tell me how to improve it (algorithm, GUI, documentation, anything really). All input is welcome and appreciated.

    P.S.
    This is BETA after all, things WILL break, so be patient ;)

    Thank you and best regards,
    Loreia

     
  • Funghie

    Funghie - 2012-03-27

    Hi there,

    In the folder section "Middle" seems to be broken in b10.

    Unless I have misunderstood the feature (possible). Example in attached screen shot.

    IF (open fold)
    ELSE (should not close fold)
    ENDIF (close fold)
    

     
  • Loreia2

    Loreia2 - 2012-03-27

    Hi funghie,

    you misunderstood the feature.
    "middle" fold point allows to fold just upper (or lower) part of if/else/endif section.

    If you don't want to create "middle" fold points, define "ELSE" as keyword1-8.

    BR
    Loreia

     
  • Funghie

    Funghie - 2012-03-27

    Roger that. Thanks for the reply. All good so far then. :-)

     
  • Loreia2

    Loreia2 - 2012-03-28

    Hi,

    starting with Beta 4, compatibility with previous XML format is broken.
    If you used an earlier beta version, you will have to re-define your language.

    BR
    Loreia

     
  • Loreia2

    Loreia2 - 2012-03-29

    Hi,

    new Beta 6 is up on Github download page. It fixes issue with badly formatted XML file.
    If you've defined your syntax in previous Beta, please re-define it in Beta 6 and re-save to XML file.

    BR
    Loreia

     
  • Jan Schreiber

    Jan Schreiber - 2012-04-02

    Thanks a ton, works great so far!

     
  • Loreia2

    Loreia2 - 2012-04-02

    Finally a comment :-))

    Hi janschreiber,

    can you be more specific.
    What kind of project do you use it for.  Which language, which features are you using? Do you see any stability problems, is performance on par with official application?

    BR
    Loreia

     
  • Bob Walasek

    Bob Walasek - 2012-04-02

    I just ran across this today - wow!  You've done some great work here, I want to thank you for your effort!
    I downloaded and installed your latest and greatest and am playing around with defining my own UDL for TSQL, I love how the comments work now!  However, it appears that the keyword list prefix mode is not working.  In particular, I have my 3rd group styled and defined as simply '@' because I want my sql variables to stand out.  I have prefix mode checked, but none of the '@' variables in my loaded file is colored appropriately. As a test, I changed the group 3 definition to be '@pcatid' - which is one of the text strings in the file I am editing. As soon as I typed the last character ('d') - the variable in my file became colored appropriately - so as soon as the full string matched, not the prefix.
    Thanks again!

     
  • Loreia2

    Loreia2 - 2012-04-03

    Confirmed,

    new Beta7 is up on github download page: https://github.com/Loreia/UDL2/downloads
    Please download and re-test.
    Post your results here.

    Thank you and BR
    Loreia

     
  • Bob Walasek

    Bob Walasek - 2012-04-03

    Thanks Loreia - prefix mode is working great!

     
  • Jan Schreiber

    Jan Schreiber - 2012-04-03

    @Loreia

    I use N++ mainly for a C-like scripting language called GameMonkey, embedded into a bot (a program that provides computer-controlled players) for first person shooter games. Much of the bot behavior is controlled via script, resulting in some fairly complex scripts. Thus, code-completion, proper syntax-highlighting and folding is pretty much a godsend. We have a team of about 5—10 regular contributors. This doesn't warrant writing our own plugin or something, but giving them a good customized editor is well worth the effort.

    My main problem with UDL 1 was that I could either (a) treat the curly brackets as keywords and have the code folded, but lose the bracket-matching capabilities, or (b) treat brackets as symbols but lose code-folding. UDL 2 solves that, which is great.

    Everything looked fine at first sight, but I think I found a problem: Code auto-completion for my user-defined language, which used to work fine for years in the default build of N++, seems completely broken with UDL 2. I can send you a minimal setup (set of files) for reproduction. I think you posted your e-mail address somewhere in this thread but I can't find it atm.

     
  • Loreia2

    Loreia2 - 2012-04-04

    Hi janschreiber,

    thank you for your e-mail.
    Code auto-completion is not a feature of UDL, nor did I (to best of knowledge) touch any code related to that functionality. In fact, I use UDL 2.0 to code the very UDL 2.0 and I never noticed any problems with code completion.

    My best guess is that it must be some sort of problem with different versions of NPP application.
    UDL 2.0 is based on NPP 5.9.3, and if you have a newer version installed, using my custom version might break things simply because it regresses to 5.9.3.

    Can you please download NPP 5.9.3 (use .zip version, just unpack it somewhere and add latest version of UDL 2 in the same directory) and re-test the whole thing. Let me know if that works.

    You can also send sample files to : udlv20 att gooogl mail dott com (you know how to generate proper mail address from that). Please include userDefineLanguage.xml file so I could see your language definition.

    I think we can sort this one out pretty fast.

    Thank you and best regards,
    Loreia

     
  • Jan Schreiber

    Jan Schreiber - 2012-04-04

    @Loreia

    I did as you suggested, downloaded the stock build of Notepad++ 5.9.3 and tested it against your version. In the default build, autocompletion works, in yours it doesn't. Additionally, in your version my screen starts flickering whenever I type a character that is supposed to trigger autocompletion, as if the application were unsuccessfully trying to display something.

    I sent sample files to the e-mail address you mentioned.

     
  • Loreia2

    Loreia2 - 2012-04-04

    Hi Jan,

    I did a short test, and on my system everything works just fine.

    Is there anything specific in your NPP installation? Maybe some plugin?

    BR
    Loreia

     
  • Jan Schreiber

    Jan Schreiber - 2012-04-04

    Is there anything specific in your NPP installation? Maybe some plugin?

    Now that's strange. It turns out that the plugin RegEx Helper seems to cause the problems. I moved all plugins to a temp folder and restored them one at a time in order to find the culprit. As soon as nppRegEx.dll was back in place autocompletion stopped working.
    It is quite weird that this would not happen with the stock build of Notepad++. Thanks for your time, Loreia!

     
  • Loreia2

    Loreia2 - 2012-04-04

    Hi Jan,

    thanks for the info.
    I can now reproduce the error. Just like in your case, standard NPP 5.9.3 build has no problems with this plugin.  I have a theory why this might happen. I'll test it, and let you know when I solve the problem.

    BR
    Loreia

     
  • Loreia2

    Loreia2 - 2012-04-04

    Hi Jan,

    As I suspected the issues is solved when SciLexer.dll is called SciLexer.dll (as opposed to SciLexer2.dll).
    Here is a version of NPP that is compiled to look for SciLexer.dll (and not SciLexer2.dll).
    http://www.2shared.com/file/WTOVr3b0/beta_7_alternate_build.html

    Save it to your installation directory, you will have to replace default files so make a backup first.
    This error is a bit strange as I see no obvious connection between code completion and RegeEx helper. Why would Regex helper be called when code completion window is about to be displayed?

    I will not look deeper into this, as I have no time to scan Regex helper code, and the problem will be solved once I compile with default names (without "2" in the name).

    Let me know if it is working for you.

    BR
    Loreia

     
  • Jan Schreiber

    Jan Schreiber - 2012-04-05

    Hi Loreia,

    as you said, the new build works well even with the RegEx helper plugin installed. I agree that we can consider this problem solved so far. Everything is working as expected here now, with three different user-defined languages.

    Best regards,
    Jan

    A sample screenshot that shows a very simple but nice highlighting for subtitle files that would not display as well with UDL 1:

     
  • Loreia2

    Loreia2 - 2012-04-05

    I must admit, very creative use of UDL :-)

    BR
    Loreia

     
  • Aurelio

    Aurelio - 2012-04-07

    Hello, Loreia,
    I Love your custom UDL, I've been using it since August 2011,
    on-and-off, with a "custom"(?) version of Notepad 5.9.3
    (notepad2++.exe) that I don't really remember where I downloaded from.

    I have a few small doubts (just to be clear):

    The versions that I get on other sites, like Softpedia,
    FileHippo, etc, including notepad homepage are:
    http://notepad-plus-plus.org/

    Notepad++ 6.0 = Released: 27 Mar 2012 (1 week ago)
    Notepad++ 5.9.8 = Released: 05 Jan 2012 (3 months ago)
    Notepad++ 5.9.6.2 = Released: 14 Nov 2011 (4 months ago)
    Notepad++ 5.9.6.1 = Released: 06 Nov 2011 (5 months ago)
    Notepad++ 5.9.6 = Released: 01 Nov 2011 (5 months ago)
    Notepad++ 5.9.5 = Released: 24 Oct 2011 (5 months ago)
    Notepad++ 5.9.4 = Released: 12 Oct 2011 (5 months ago)
    Notepad++ 5.9.3 = Released: 25 Jul 2011 (8 months ago)
    Notepad++ 5.9.2 = Released: 06 Jun 2011 (10 months ago)
    Notepad++ 5.9.1 = Released: 01 Jun 2011 (10 months ago)
    Notepad++ 5.9 = Released: 31 Mar 2011 (1 year ago)

    The newest version listed on this page:
    https://sourceforge.net/projects/notepad-plus/files/

    is 5.9 ?? more than a year old version?

    The Latest version of your UDL, on github:
    https://github.com/Loreia/UDL2/downloads

    is NPP_UDL2_14.zip — Beta 7. It contains "notepad2++.exe"
    that is still correspondent to version 5.9.3.

    On August, 2011 the latest version of Notepad was indeed 5.9.3,
    so there was no difference to using "notepad2++.exe"; Now that
    we've had (apparently) 7 newest releases of Notepad (including a
    major version change), I would like to know, if possible:

    (-1-) can I upgrade (unpack the .zip to NOtepad++ folder) to 6.0
      (or any of the previous 5.9.x versions  that are newer thatn 5.9.3)
      and still use the Latest version of your UDL?

      …or should I stick to the original 5.9.3 on the same folder, and
      (possibly?) miss out on all changes, corrections and improvements since
      July 2011? (it's an honest question - I'm kind of a 'newbie' and can't
      really figure out if the upgrade will work or not, or if it's worth it.)

    (-2-) does any of the newest versions of Notepad++ include some of the
      most useful changes you've made in your own UDL?

    P.S.: I'm not trying to press you into upgrading your own version of
      "notepad2++.exe" into version 6 at all; I'm just a bit confused;

     
  • Loreia2

    Loreia2 - 2012-04-07

    Hi audio20,

    my version of NPP and UDL is based on NPP 5.9.3.
    Merging UDL 2 with latest version of NPP was not a high priority for me, so I went on with 5.9.3 to this day.

    My plan was to merge UDL 2 with latest NPP once UDL 2 is stable enough. I guess that can be done now, but now NPP main application is not stable enough. That means I'll probably do the merge with NPP 6.1 (or whichever version follows 6.0).

    Until then, If you want to use or test UDL 2, you'll have to downgrade NPP to version 5.9.3.
    You can't use notepad++.exe version 6.0, and my own custom version of SciLexer.dll. They are not compatible.

    So, if UDL 2 is more important to you, use notepad2++.exe and SciLexer2.dll (which efectivelly downgrades NPP to version 5.9.3). If new features in NPP are more important to you, upgrade to latest NPP and use UDL 1.

    Main application (and that is anything that wasn't published on this thread) does not contain any UDL 2 code. If you want UDL 2, you must use the binaries I publish here or download the source code and merge it yourself.

    I hope that answers your questions.

    BR
    Loreia

     
  • Gutierrez PS

    Gutierrez PS - 2012-04-13

    I don't know if this issue got lost in this discussion, but keywords with accents (like é ã ç) aren't recognized. Is this a bug or a missing feature?

    Besides this, it's a great project! I hope it gets bundled with N++ someday. UDL2 FLW!

     
  • Loreia2

    Loreia2 - 2012-04-13

    Hi gutierrezps,

    thanks for the thumbs up.
    UDL should work with accented characters too.

    Here is a simple test on my machine:


    http://i40.tinypic.com/1zqybr8.png

    There is a problem with ã character (it is recognizes as regular "a"), I'll check that problem latter on, but other letters you've mentioned work well. In my test they start Line comment sequence.

    Can you be specific where the problem is on your machine?

    BR
    Loreia

     
  • Gutierrez PS

    Gutierrez PS - 2012-04-13

    Hi Loreia. The folding delimiters works with accents. The problem is with keywords. Here's a screenshot:

    It's a portuguese pseudocode =). Notice the words ATÉ, FAÇA, ENTÃO and NUMÉRICO. They're not highlighted. But INÍCIO is declared as a Folding delimiter, and it's highlighted.

    Another question: how about the end-line character (;)? I'm putting it as a comment line opening character. Is there another way to do it?

     
  • strainer

    strainer - 2012-04-13

    I am very admiring of this but am hooked on scite these days. This lexer works with my scite compile and i tried setting properties for udl but that hasnt worked. Maybe it needs different configuring from standard scite lexers,  can you say if it might work Loreia? and what its internal language name is if it might? …im thinking the chances are slim but just maybe, i would love to make a udl for my notetaking syntax. Thankyou.

     
  • Loreia2

    Loreia2 - 2012-04-14

    Hi gutierrezps,

    thanks for reporting the problem, I love the Portuguese pseudo code :-)
    I will look into it and post my findings here (though, it might take a while).

    P.S.
    You should declare semicolon operator ";" as Operator1 type.

    BR
    Loreia

     
  • Loreia2

    Loreia2 - 2012-04-14

    Hi strainer,

    UDL is a feature of NPP, not Scite. Think of it as NPP's extension of Scintilla component. Therefor there is no easy way to mix the two. One would need to change source code of Scite in order to fit UDL in. And I don't think too many people would invest their time in such project.

    So, if you want UDL, NPP is your only choice.

    BR
    Loreia

     
  • strainer

    strainer - 2012-04-14

    Hi Loreia,
    I belatedly looked at the source and see this is the case. Alas im hooked on npp's quirky relation for now. You lucky so soes! strainer.

     
  • Randall

    Randall - 2012-04-17

    Any update as to whether NPP is ever likely to accept  this version of UDL, or alternatively you might make a 6.1-compatible version available?  I just found this thread after some problems with the normal UDL  & it looks like this has everything I could ask for and some more,  but with NPP introducing PCRE support (finally!!) in v6 I just _can’t _go back … !_!  ☹

    Incidentally, my issues with the normal version were based on the size of the dialog box and the inability to scroll — option near the bottom aren’t accessible unless you dock, and even them the colour picker’s “more” option is off the bottom  for the lowest items — not to mention you can't close the dialog window while docked …

     
  • Loreia2

    Loreia2 - 2012-04-17

    Hi ,

    I am glad that you find UDL 2 useful.

    NPP v6.1 has issues that make users downgrade it down to 5.9.8. I will merge UDL 2 with next stable version of NPP. Until then it is either UDL 2 or PCRE. Sorry about that, but that's the best I can do at the moment.

    BR
    Loreia

     
  • Dave Brotherstone

    This is a fantastic project - many many congratulations to Loreia for getting this thing off the ground.

    With some git magic, I've made a branch off the 5.9.3 release and applied Loreia's commits to it.  This means we have a branch with the changes in, that can easily be rebased against 5.9.8 or 6.1 or whatever.  It should also make creating the patch for Don to apply to the main line trivial. 

    If Loreia is ok with it, I can publish the git repository for others to use.  I can also create some binaries for testing - e.g. UDL2 with 5.9.8, UDL2 with 5.9.8 and full regular expression support, UDL2 with 6.1 etc.

     
  • Loreia2

    Loreia2 - 2012-04-20

    Hi Dave,

    this is a fantastic news. I was planning to merge UDL2 with latest version in main branch as soon as v6 stabilizes, but this is even better. Please publish links here, both code and binaries of versions 5.9.8 and 6.1.1.
    Thanks a lot for your help, I am fully focused on my daily work these days and this is exactly the kind of help that I needed.

    BR
    Loreia

     
  • Aurelio

    Aurelio - 2012-04-21

    Hi, Loreia, (and Dave)

    thanks for your quick reply, you really solved all my doubts; I was happy to limit myself to using almost only your version, but now I'm also looking forward to Dave's versions, although it seems v.6 still needs some time to stabilize as you said (and I completely agree with you).

    I'm such a big fan of your version that I made custom pure-vector art icons for it:
    http://www.fileden.com/files/2012/4/4/3287348/Notepad%2B%2B.ico

    It includes all sizes of icons and it makes it very easy for us to differentiate both versions - "official" and "UDL2-enabled";
    If you (or Dave) wants to embed it on the executable of your next version, I would be very happy.

    Notepad++ Original icon vs. Notepad2++ icon vs. Notepad2++ Custom icon:

     
  • cchris

    cchris - 2012-04-21

    I can only recommend that Loreia's work be included in Notepad++ official ASAP.
    I'l still around if you need some help, but it looks like you could do without it mostly.
    This is great work which will help countless users of Notepad++ who program in languages Scintilla didn't find useful to support. The numbers are growing, and current UDL syntax simply can't cope.
    Thanks a bunch, Loreia.

    CChris

     
  • Loreia2

    Loreia2 - 2012-04-21

    Hi audio20,

    I can include that icon in next beta release. Thanks.

    BR
    Loreia

     
  • Loreia2

    Loreia2 - 2012-04-21

    Hi Chris,

    UDL2 is still not ready for main branch. I'd like to have another shot at code (after merging with version 6.1), to clean up unnecessary stuff and test code. I fully understand why people want to hurry things up, but this is a complex algorithm and it is better not to rush anything as code quality is more important than speed. Having said that, I don't think it will take long before UDL2 is out of beta and ready for inclusion in main branch.

    BR
    Loreia

     
  • Dave Brotherstone

    Loreia,

    Can you push up your latest changes to the git repository - I was just testing and noticed that multi-word keywords weren't working, then I looked at your binary list, and saw there were newer versions than the last code push (beta 3). 

    If you can push those up I'll merge them in to the branches I have.

    Cheers,
    Dave.

     
  • Dave Brotherstone

    So, I've still got an issue with multi-word keywords, even in your latest binary (14).  Using the code from "beta 3" that's available, the bug is a trivial one, and easy to fix.

    To reproduce:
    1.Define a language with a single "multi-word" keyword - "begin tran", for example.
    2. Create a new document, and switch to the new language
    3. Start typing "begin tran" - you never get to type the "n" in "begin" - it just freezes.

    In actual fact, it does come back, if you wait long enough.

    Bug is in LexUser.cxx, in isInListBackward() :

    if (isWhiteSpace2(b, nlCountTemp, wsChar, bNext))
                        {
                            do {
                                b = sc.GetRelative(offset + indexb++);
                                bNext = sc.GetRelative(offset + indexb);
                            }
    /* HERE!  indexb was not checked against the length of the document, so it just keeps spinning up.
       It comes back when indexb overflows and loops back around to 0.
       I've defined a variable above, docLength, and set it to sc.LengthCurrent()
    */
                            while(docLength >= indexb && isWhiteSpace2(b, nlCountTemp, wsChar, bNext));
                            a = ignoreCase?toupper(list.words[i][indexa++]):list.words[i][indexa++];
                        }
    

    In the latest binary, it works as long as there is some text after where you're typing, but if you're typing on the end of the document it freezes.

    Hope that helps.

    The bug isn't urgent at all, what I'm really keen on is getting the latest code so I can merge it with my 5.9.8 with UDL2 and full regex, which is fast becoming my favourite version :)

    Cheers,
    Dave.

     
  • Dave Brotherstone

    And I've just seen you've pushed the code…. I'm grinning like a kid at playtime!  Cheers.

     
  • Loreia2

    Loreia2 - 2012-04-22

    Hi Dave,

    I was under impression that latest version was already an github.
    Thanks for reporting the problem, I just did "git push" so you could continue with merging effort.

    I will look into the other problem latter today and post patched version on github.

    Thanks and BR
    Loreia

     
  • Dave Brotherstone

    Merged code is here:
    https://github.com/davegb3/npp/

    There are several branches:

    udl2
    - This is Loreia's original changes, based off 5.9.3.  Further changes to the UDL2 system (from Loreia or others) will be added here.

    udl2-v598
      - This is Loreia's UDL2 based on Version 5.9.8 of Notepad++

    udl2-v598-regex
    - This is Loreia's UDL2 based on Version 5.9.8 of Notepad++, with the patch for full regex support applied
       (so, broadly speaking, 6.0, but without the document map and instability :)

    udl2-v611
    - This is Loreia's UDL2 based on Version 6.1.1 of Notepad++.

    The merging was pretty smooth, apart from version 6.1.1 - there may still be merge issues here.  Your comments here that it still works for your language definitions will be appreciated.

    I've added binaries to the downloads page at github for each of the branches (https://github.com/davegb3/npp/downloads)

    The rebased branches (everything apart from 'udl2') may be rebased again if Loreia adds further changes, so please don't base any work off them, or at least tell me if that's what you're planning to do.

    In the rebased versions, I've included my little fix for multi-word keywords at the end of the document - if Loreia brings out a different/better fix then I'll apply that and jiggle the branches around.

    I've not included the icon from audio20 in the binaries, simply because the discussions about icons last time went on for months - and that shouldn't be the focus of this thread.  Hopefully the patch will be considered "tested" and packed into the main line quickly enough such that a separate icon won't be necessary - nothing against your work audio20, I actually quite liked the icon!

    Hope that helps the effort for this great project.

    Dave.

     
<< < 1 2 3 4 5 .. 14 > >> (Page 3 of 14)