Ted2Go IDE

Home Forums Monkey 2 Projects Ted2Go IDE

This topic contains 463 replies, has 35 voices, and was last updated by  nerobot 4 days ago.

Viewing 15 posts - 16 through 30 (of 464 total)
  • Author
    Posts
  • #4232

    nerobot
    Participant

    Hi to all.

    Let me introduce new improved version.

    It based on latest official ted2 sources (1.0.7).

    See screenshots below.

    What do we have now:

    • improved parser

    – it can extract variable type from expressions like this:

    – parse lambdas, enums, method’s params

    – parse ‘native’ types like @String

    • improved autocompletion

    – it checks current scope and access mode (public/private)

    – added icons and sorting

    • improved codetree

    – it shows types and params

    – added icons

    —————–

    As in previous version – parser do re-parse on load and on save document.

    So if you type variable and don’t see autocompletion – just save the file and try again.

    Parser is ‘in progress’, it can parse not all cases. You can notify me here about ‘problem places’.

    And problems with autocompletion too.

    —————–

    If you don’t try Ted2Go yet – do it right now! 🙂

    And maybe donate me if it’s useful for you.

    Sources on github  |  Compiled windows version (dropbox)  |  Donate

    Have a nice coding!

    #4238

    CopperCircle
    Participant

    Great, looking good.

    #4306

    nerobot
    Participant

    Just commited new release!

    • Parser work with Extends and Implements, so you can see inherited members in autocompletion;
    • Improved scope checking for autocompletion:
      • show all members inside it’s own classes,
      • show protected members inside derived classes,
      • show public for other cases,
      • inheritance checking is recursive, so show members for multiple inheritance. probably, only public for this time.
    #4361

    nerobot
    Participant

    Some improvements are here.

    • Icons – new icons for CodeTree and Autocompletion, almost all taken from Netbeans IDE (see attached screenshot). Also icons reflect member’s access modifiers now.
    • Parser:
      • added support for ‘Alias’;
      • added simple checking for case: “b := ok ? xx else yy” and “b := Not …”;
      • improved checking of numbers (now checks minus sign);
      • fixed type extraction for ‘operator’.
    • Autocompletion – now it shows aliases and generic types members. It’s very simple variant – strip generic type, so not replace generic type with user’s declared type. But to see geteric type <T>,<V> is better than to see nothing.

    Icons mapping to members is in attach too.

     

    Windows Binaries (Dropbox)

    #4365

    Playniax
    Participant

    Great work!

    #4366

    nerobot
    Participant

    Implemented the latest sources from original repository – v1.0.8.

    It brings us themes support and zoom in/out for whole UI.

    Windows Binaries (Dropbox)

    #4383

    nerobot
    Participant

    @everyone

    Question about “Check for errors” action. I did it this way:

    1. Find “Compiling…” in console
    2. Print “Done.” and call console.Terminate()

    Is it good solution?

    @adamstrange uses “checkapp” parameter for mx2cc. It looks like a better solution.

    Hm?

    #4385

    nerobot
    Participant
    #4387

    abakobo
    Participant

    the mx2cc is clearly a better solution because when compiling starts it starts to write things on disk and that’s bad.

    Tested your fork:
    It would be nice if the Classes/Methods/Fields/Vars in the left column where sorted in some kind. Here I have some mixed Methods and Fields withing my class.
    And sorted by alpha or with the same order than in the File.

    I’m looking forward to see code folding and full pass indent. Hope it’s in your plan.

    nice work!

    #4394

    Mark Sibly
    Keymaster

    mx2cc has actually had a ‘-semant’ option for a few versions now, in fact it now has -parse, -semant, -translate, -build and -run. Specifying any of these automatically include the previous ones, eg: -semant means -parse, -semant, while -run includes all of ’em.

    Probably easier easiest if I add this myself as it’s in the middle of the/my buildactions file.

    #4395

    nerobot
    Participant

    @abakobo  thanks for looking!

    Sorting is in the nearest plans.

    What is “full pass indent” means?

    @admin (Mark)

    Probably easier easiest if I add this myself as it’s in the middle of the/my buildactions file.

    nice!

    #4398

    abakobo
    Participant

    By full pass indent I mean an auto intend button that indents all your file: clearing all spaces and tabs at the beginning of each line then intend by fold+if/elseif/case…
    The ifs are probably a bit difficult because it needs some analysis to know wether it’s a one line or not.

    I’ve had some problems with the text cursor. Sometimes it desapears completely after coming back to ted.
    I personaly prefer when the cursor doesn’t “flash” (for a more zen workspace.)

    #4399

    nerobot
    Participant

    Thanks for description.

    Hm, I’ll try do it, but a bit later. Yes, ‘If’ keyword is not simple. 🙂

     

    To fix cursor, go to [ted2go]/views/textviewext.monkey2 and comment 2 lines inside TextViewExt.New() method like this:

    And you got default ted2 cursor.

    Further, there will be Preferences dialog, allowed to simple change IDE params.

    #4402

    nerobot
    Participant

    I googled word ‘ted2go’ and became confused.

    Welcome to http://ted2go.com

    🙂 (not ide)

    #4451

    nerobot
    Participant

    In new (current) version:

    • Try to add error checking “on the fly”, do background parsing after 3 secs from latest code changes. Modified file saved to ‘ted2go/tmp/tmp’ file and parsing via mx2cc.
    • Added errors hints – mouse over on line with error shows us error message. And errors now marked with curved underline (see sreenshot).

    My logic for background parsing is (pseudocode):

    1. Add callback to TextChanged signal (TextChanges += OnTextChanged)
    2. Inside of OnTextChanged attaching to App.Idle signal (App.Idle += OnParseBg)
    3. Inside of OnParseBg checking time – are we ready to parse, 3 secs is over.
      1. if YES – do parsing and reset changed time (DoParse)
      2. if NO – re-attaching to App.Idle
    4. Inside of DoParse create new Fiber and read mx2cc output inside of it
    5. Goto 1, so wait other textchanged event.

    I tried to use Timer with 1 hz interval, but timer stops to work after some time, so I decide to use App.Idle.

    What is not good – saving to tmp file, need to improve.

    Windows version (Dropbox)

Viewing 15 posts - 16 through 30 (of 464 total)

You must be logged in to reply to this topic.