Page 2 of 4 FirstFirst 1234 LastLast
Results 11 to 20 of 34

Thread: Alternative IDEs

  1. #11
    Wow, auto complete would be definitely an enhancement. So does unicode.

  2. #12
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,544
    Rep Power
    172

    Scintilla-ok...but Scite is a very hard point to start from

    If you are one of the users who like to configure and more or less customize the tools to work with, i searched for alternatives too. A simple, but already old one i stumbled across- and i only mention it because thinBasic is supported was ConText. The Keyword-base would need a refresh since its 10 years old or more. Its a good try-out and a lightweight-experimental sandbox-editor where you can not do too much wrong and it's good to gather some success-fulfilled experience if you want to customize an advanced editor to your needs.

    So for alternatives i could recommend 3 editors- the most known by everyone is Notepad++ but even i did not finish the Autocomplete.xml list yet. Also FunctionList is a hard work if you want the subitems of a class (functions of a type) properly ordered on the codetree. Also customizing the menu and to shell a thinBasic-script requires some tricks as involving clipboard. So recommend to use a macro- store clipboard-content before calling a script to run - later restore clipboard content.


    Another pretty nice alternative IDE is SynWrite. While there were rumors about the programmer to have changed to join coda-editor-project he seems to have returned and obviously continued after long break to maintain Synwrite.
    Very easy to configure and customize ( after configuring Notepad++ or Scite (what a hell) - this is really a walk in the park.
    It needs basic knowledge of RegEx to customize and uses python-flavour. It even includes python and makes Synwrite to be able to program itself. Multiple lexers are usable at the same time. Means to thinBasic: it could split the lexers according to modules or included languages as ASM or O2 and within the code (or if Uses "UI", "TBGL") it would load lexers for O2-Basic, UI or TBGL-modules. RegEx are way eaysier to use than Notepad++ (since npp has quite a few bugs and special behaviours) or scite ( where at all could one enter it?)

    And my late discovered alternate IDE suggest: RJ TextEditor.
    It's - i guess a guy from northern europe who developed - and still is improving it.
    It's a very sophisticated Texteditor- the first i've found out with it was that it required only a click to run a thinbasic-script.
    Ok- its just starting it inside the implemented explorer- but no other editor where i've found it that easy.
    It enables multiple lexers usage and some other features that i found make synwrite already stand out
    - but this one stands out from the outstanding-
    It provides implemented editors to almost everything - even to cusomize it (syntax, highlighting etc.menus - less RegEx in foreground but in the end it has it all.
    It {includes|uses} "fastscript" - a scripting language that is one language but offers 4 different kinds of syntax to customize the editor - so as you prefer basic, java, c++ or pascal-syntax: you can choose what dialect you like to use for configuring this editor talk to it.
    Rickard's Editor also provides an up-to date offline help-file separate from the download and if you have not tried it-
    it's about time.


    Anyway its a difficult decision:
    + Easy first time handling and automatic fool-proofness, auto-saves & backups pretty stable, just to edit scripts only and often use other kind of text too? 2 tabs at same time to edit your code serves? You're happy if creating macros is supported and you know to use them to your advantage? Then grab Notepad++
    - but beginners will struggle to configure it for some mega-compatible programming language as thinBasic because we have many different rules and syntax. Notepad++ is not yet able to handle 2 keywords as 1 expression. In some boxes of the configurator the new approach to unite 2 keywords by putting them into quotes works- in the neighbouring box the same approach does not work. The count of keywords for the lexer is limited. You can choose % as a general prefix to avoid limitations and speed issues because it will have problems to handle more than 4500 numeral equates that thinBasic brings.
    But it's quite usable.

    + simple to configure, much more settings and possibilities to customize than notepad++ and whatever your plans might be- there is a way to achieve it in SynWrite. Also many more tabs and tools open next to each other, you might edit- half a dozen scripts displayed at the same time and have more- self created toolbars or own features implemented to the editor.
    -need some more time to find around than in npp, but after just looking at scite its like a beam of light in darkness . At a certain point you will not get further to customize it if you're not firm in python or don't know how to substitute a missing knowledge about python but there are forums with users that know. And there's google. Google knows it all.

    + RJ TextEdit - you can find all required help offline in one verbose file. And still there's the option to ask questions in the dedicated forum - about the editor itself or about the scripting language.
    I did not get to count how many scripts at once can be edited. Nor how many tools, external helpfiles or ways to run a tB-Script can be implemented. Enough to serve all needs i would say. Fully customizable. As synwrite it offers to configure complete menus and toolbars including custom icons - the usage of multiple lexers at same time which will not run into a limit because its smart to load only required keyword-databases according to your setup.
    - so many options and possibilities, you will never finish if your goal is perfection. Some of the menus in the provided customizer-tools-collection are bit misleading if there use is meant to a certain language only. But on the other hand - you always find new ways of using it when you customize it to do that what you thought it would do.

    Scite?
    - difficult in everything- no idea where to start or how to proceed- still getting surprised - but for beginners and intermediate NO WAY. Do not look for Scite if you're not a proven genius or moody sometimes. It will frustrate you and endangers your pc's health because you might throw something...
    You should be better than advanced - and in that case i suggest: program your own editor.
    You could extract the scintilla textcontrol only or use richtext-fields (big burden) or create own controls using openGL, DirectDraw or DirectX and start from scratch. Or try one of the above
    Last edited by ReneMiner; 26-05-2020 at 22:27.
    I think there are missing some Forum-sections as beta-testing and support

  3. #13
    Hi Rene,

    thank you for this review.

    Should I share my opinion, I would say that, all the efforts that involve modding an external editor could be of a good use updating, by example but not only, thinAir's syntax files. Sadly, these files, at the moment, are not shared in a community-oriented edition fashion. Lastely, Eros announced, in this very forum, that "[He] want[s] our thinAir experience as great as possible". I'm confident.
    ThinBasic 1.11.6.0 ALPHA - Windows 8.1 x64

  4. #14
    nice editors, i have downloaded the SynWrite and the RJ TextEd , its newest versions supports OS'es from antiquity to the virus year !!.
    the ability to use all different kinds of unicode and also the older ansi is a feature
    i have made this experiment using SynWrite (applicable also to the recent thinAir): and using the character "Я" https://www.compart.com/en/unicode/U+042F

    string s = "Я"
    long a, b  
    a = peek(BYTE, strptr(s))
    b = peek(BYTE, strptr(s)+1)
    
    msgboxw 0, str$(a)+"   "+str$(b) '208 175 
    msgboxw 0, peek$(strptr(s),2)
    msgboxw 0, asc(s) '1071 '0x042F
    
    saved it as utf-8, and then from command prompt thinbasic test1, i have noticed
    1- the source code file encoding in utf-8 and the Я is encoded as 0xD0 0xAF
    2- while the character in memory is encoded as UTF-16 Encoding: 0x042F = 1071
    3- the Asc function return the UTF-16 encoding so it is 0x042F = 1071
    that seems the right things, but i will never understand this deeply and why all this complexity, it could be UTF-16 is speedier than UTF-8.
    correct me if there is errors in Logic or understanding

  5. #15
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,544
    Rep Power
    172
    Quote Originally Posted by primo View Post
    ... but i will never understand this deeply and why all this complexity, it could be UTF-16 is speedier than UTF-8...

    If i would say i understand some- or anything about it - it were a lie.
    But correct me if i am wrong: utf8 using 8Bit? thats what 8 is for? I don't get it. There also was a format associated to OEM - did they rename it or was it forgotten?
    Its getting a very complex topic with all these different formats and if someone running linux or a mac we are lost completely.

    ASCII - is 8 bit. That i know.

    Guessing:

    (Unicode = UTF = False
    (Unicode = UTF16) = False
    (Unicode = Widestring) = False
    (Unicode = ANSI) = True
    ?
    I dont know if any of my guesses is right. It makes the use of a textbox really complicated and i don't know how to detect for sure which format i am dealing with if the user inserts text from clipboard.
    Does a textbox (or any control) automatic convert text from clipboard - or does the clipboard?
    Do we need all these different formats within core or were it better to have a module for text-conversion/detection?
    If my app except the filename will not accept any text-input- do i have to bother what characters-formats i am dealing with. Why doesn't someone, who really understands about it forge a rule and invent once and for all an extenteable char-format even (64-Bits or better 256 Bits per) char that can include all known formats and takes care about conversion? so we only have to deal with 2 formats Ascii and the "including all-charsets-of-the world-format" (which i thought would be unicode).
    But obviously seems not to serve, maybe far eastern languages that have more than 42,000 different signs was not thought of when they invented Unicode? So it were smart to have a charset with enough space for additional languages so we can include the 276837612 currently unknow languages of the alien tribes from other planets that will visit the earth within thenext 10,000 years- just to make sure no more changes required.
    I think there are missing some Forum-sections as beta-testing and support

  6. #16

    Post

    Quote Originally Posted by ReneMiner View Post
    utf8 using 8Bit? thats what 8 is for? I don't get it.

    [...]

    Guessing:

    (Unicode = UTF = False
    (Unicode = UTF16) = False
    (Unicode = Widestring) = False
    (Unicode = ANSI) = True
    ?
    I dont know if any of my guesses is right.

    Guessing ? Wikipedia has the answers:

    Comparison_of_Unicode_encodings

    &

    UTF-8

    And about ANSI & WideString, Character encoding is the page to read.
    ThinBasic 1.11.6.0 ALPHA - Windows 8.1 x64

  7. #17
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,544
    Rep Power
    172
    that's my problem- if i want to write a script i come to line 100 or 150 but then something as this many charformats forces me to stop and waste time to study something thats obviously deprecated - since when i have the idea - someone else already realized it.
    So i better search for the multinational charset that uses 8 Bytes per char and takes care of conversion, puts all new charformats into its database and only uses either AscII or its own -all other including formats.
    For programming when its all about bytes and data the String will rarely contain anything else than bytes. For display and calculation it would put all text into a new string-alike variable-type where each char has like a QWord per char. Name it QTFIALOTWCDT as "QWordTextFormatIncludingAllLanguagesOfTheWorldChainDataType" or whatever.
    That's a job for thincore and a functional user-defined datatype...
    ______________________________________________________________________________________________________________
    Back to topic:

    I tried out guess more than 100 different text-editors. Many of them were good but disqualified because of usage-limitations if you do not register and give them personal data about yourself, or they ask money to keep features working after a certain time. Others offer limited trial versions. A few were really good - the best trial/feature-linited texteditor if've found so far was PilotEdit(Lite). The trial gives no access to the codetree but anything else seemed useable to me.

    Not bad also "Sublime" but its too much connected to JAVA/javascript and configurating possibilities do not serve to make it a full functional editor for thinBASIC.


    Anyway i looked for full-free-features and open to configure so it can be made a real alternative but not an "OK-ar least it works"-substitution - replacement for thinAir.

    Notepad++ can be a part-time replacement and is useable to write a script once in a while. Macros and an arsenal of text-editing features make it a great tool to substitue features that are not functional in current version of thinAir.
    (But: Notepad++ can not sort by alphabet ignoring the case. So words/lines starting lowCase "a" will follow UCase "Z" Also you should be aware of this behaviour when ordering keywords for Autocomplete.xml It must be sorted this way- else it will not work. To edit for
    thinBasic itself it needs rarely sorted lines, and if you need -> store text to clipboard or save it and put filename on the clipboard and check the clipboard from your thinBasic-sorting-function. NPP has issues when it comes to passed parameters and before i've found out the cause and how to avoid issues notepad++ itself suggested to create a macro and use the clipboard)


    2 other Editors above really could be a base for a full functional, all requirements covering Editor to work with thinBasic-scripts.
    For me these are a point to start from to have an Editor that might handle besides thinBasic all the common files as Ini- or configuration-files, Registry, Commandline + batch , XML and RegEx- and at the same time it were possible to use the same editor for all included languages as we have Oxygen and Assembler or to code Freebasic-to be compiled-Sections.

    SynWirte and RJ Textedit were capable to contain the additional highlighter and codetips if available.

    RJ's Editor is smart enough to handle expressions of more than 1 literal word Like "Array Extract|Array Join|Array Scan|Array Shuffle|Array Sum|..." to become a keyword if both words together. You can leave a space inbetween
    (i think there's no RegEx required here to set a count of optional $SPC or $TAB that were possible too)
    Synwrite for sure can according to
    USES "Console", "UI"
    USES "TBGL" load the required keywords separate. It can switch to freebasic if the parser hits "#Compiled" and back to thinBasic again on "#EndCompiled".
    If we agree to use #Region "Language={O2Basic|O2Asm|Freebasic...}" then it will return to thinBasic-highlighting on "#EndRegion". anyway the one who creates the lexer or configures the editor will make the rules.

    The easier to understand these rules- the better chances if thinking "durable addon"


    Since i am still not finished configuring all required features with a satisfying result within NPP, i will not come up with some already finished configurations for the other 2 editors that survived the extinction on my harddrive. As many features can be added one by one there is the option to provide lexer-files, code-highlighting, codetree etc. in separate addOn-packages and we could dedicate a thread for each useable editor that supplies some feature-files. Important only to tell users exactly how to implement/where to store these files.

    If you - reader - configure some editor and its that you have separate files containing the configuration, me and a few others i guess will be thankful if you show us what you got or what you expect to find within an editor that is used to write thinBasic-scripts with. Let us know how you imagine it has to be. Overtake and go into leading position.
    If it is like notepad++ where some features have to be added to already existing files (as functionlist.xml or context-menu, main-menu)
    try to make it injectable for the current as well as for upcoming new versions of the editor.
    Last edited by ReneMiner; 29-05-2020 at 19:12.
    I think there are missing some Forum-sections as beta-testing and support

  8. #18

    Question

    Quote Originally Posted by ReneMiner View Post
    replacement for thinAir
    Please, to begin with, what for ?
    ThinBasic 1.11.6.0 ALPHA - Windows 8.1 x64

  9. #19
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,544
    Rep Power
    172
    Guess thats a misunderstanding. I meant Not to have some half-functional substitution to replcace thinair. Mostly for me a reason to Look Out for some Editor ist because i heard /read that scintilla - which is the Base of thinair is Not as user-friendly and was Not finished until now. And this Editor Lacks Functions for search/replace. No regex whichis pretty important when porting Code from other languages. No macro-recoder, No autosave and the worst.: Not running stabile and scite is Not capable to handle complexity of thinBasic-language nor the amount of thinbasic-keyword-expressions. The scintilla-control itself seems useful but scite would never be my first choice. Thats mainly the reasons to Look for alternative editors to Code thinBasic. Not to replace thinAir but to substitute still Missing Features.
    I think there are missing some Forum-sections as beta-testing and support

  10. #20

    Smile

    Quote Originally Posted by ReneMiner View Post
    Guess thats a misunderstanding. I meant Not to have some half-functional substitution to replcace thinair. Mostly for me a reason to Look Out for some Editor ist because i heard /read that scintilla - which is the Base of thinair is Not as user-friendly and was Not finished until now. And this Editor Lacks Functions for search/replace. No regex whichis pretty important when porting Code from other languages. No macro-recoder, No autosave and the worst.: Not running stabile and scite is Not capable to handle complexity of thinBasic-language nor the amount of thinbasic-keyword-expressions. The scintilla-control itself seems useful but scite would never be my first choice. Thats mainly the reasons to Look for alternative editors to Code thinBasic. Not to replace thinAir but to substitute still Missing Features.
    At least upon documentation, I didn't agree on the missing feature in bold.

    The scintilla-control itself seems useful but scite would never be my first choice. Thats mainly the reasons to Look for alternative editors to Code thinBasic. Not to replace thinAir but to substitute still Missing Features.
    You mean to replace scintilla by something else in thinAIR code ? <-- that's the misunderstanding.
    ThinBasic 1.11.6.0 ALPHA - Windows 8.1 x64

Page 2 of 4 FirstFirst 1234 LastLast

Similar Threads

  1. Alternative IDE: thinSED
    By Josť Roca in forum Alternative IDEs
    Replies: 31
    Last Post: 13-08-2011, 18:38

Members who have read this thread: 3

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •