Shop OBEX P1 Docs P2 Docs Learn Events
Announcement: Intelli-Help coming for all SPIN/PASM editors — Parallax Forums

Announcement: Intelli-Help coming for all SPIN/PASM editors

CounterRotatingPropsCounterRotatingProps Posts: 1,132
edited 2009-10-27 19:47 in Propeller 1
(Hopefully) coming soon: The PropHelper - making Prop programming life much easier for almost all (windows only, sorry sad.gif )

Basically it will be somewhat similar to·the Big Brother IDE's - when you type a SPIN/PASM keyword and hit the space bar, it rapidly pops up a highly detailed and fully customizable help window. Some degree of autocomplete as in traditional Intellisense may be possible in·a later version.· First release will be SPIN only, PASM to follow.

The prototype works well with the PropTool, Brad's BST, Notepad, Notepad++, and UltraEdit.
It should work with any editor.

I hope to·be posting the package and how-to here in a week or two. (Release pending copyright permission from Parallax - perhaps this is unnecessary, but I want to be sure it's ok.·I·believe there won't be an issue as all of this will be public domain - text will be directly excerpted·and edited from the WebPM.PDF file and·other Public·domain sources.·There·is no I.P., no binaries; it's·GNU public license, and anyone·can modify and extend what will be posted and linked to here.)


PropHelper will contain all SPIN commands, syntax and symbol help - plus any realistic suggestions you all may have.

This is intended as an on-going community project.

The picture shows a sample screen.·When I typed the word "byte" then space, the yellow window shows.
Your suggestions, comments, ideas, criticisms are welcome, please.

Sincerely,
Howard

__________________________________________________________________________

prophelper.jpg

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Post Edited (CounterRotatingProps) : 10/27/2009 9:04:24 PM GMT

Comments

  • CounterRotatingPropsCounterRotatingProps Posts: 1,132
    edited 2009-10-27 17:28
    [noparse][[/noparse]reserved]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • CounterRotatingPropsCounterRotatingProps Posts: 1,132
    edited 2009-10-27 17:29
    [noparse][[/noparse]reserved]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-10-27 18:00
    Wonderful stuff! Looking forward to this!

    Edit: Sounds like it could be expanded to included helps for commonly used objects... [noparse]:)[/noparse]
    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Visit the: The Propeller Pages @ Warranty Void.
  • CounterRotatingPropsCounterRotatingProps Posts: 1,132
    edited 2009-10-27 18:05
    Yes, this is possible - and much more ... I'm toying right now with being able to popup a message box into which you enter merely the name of the OBEX object .... the routine goes and grabs it, plopping it directly into the editor. (But that's after the PASM stuff [noparse]:)[/noparse])

    Any ideas on what "common objects" you'd like help on? The door of possibilities is wide open.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • TimmooreTimmoore Posts: 1,031
    edited 2009-10-27 18:10
    It would be useful if info about an object can be added independentely of the rest, i.e. when you post an object you can post the info for it as well as a separate file that can be added to the help system.
  • jazzedjazzed Posts: 11,803
    edited 2009-10-27 18:15
    scool.gif Nice initiative.

    Just some ideas ...

    Can you also set an "on-demand" mode to get cursor or mouse pointer context help with F1 or some other key?
    Intellisis with .help is great for things I don't use all the time, but it can be annoying for common stuff.

    Also having an object.method "preview mode" that could show a object method signature/comments and/or body would be cool.
  • CounterRotatingPropsCounterRotatingProps Posts: 1,132
    edited 2009-10-27 18:18
    Tim, that's a good idea, since we don't have control over what goes into or out of the OBEX (file type wise that is). I suppose we'd have to came up with a standard format and naming convention for the separate help file. We could (somehow) periodically extract these from the the obex repo and drop them into a local dir ... but the file management and processes might get hairy pretty quickly if people didn't adhere strictly to at least the filenaming convention. (Wouldn't need·a preprocessor to format the helpfile ... they'd be·easy to make... just not sure of the overhead at this point.)·-H

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • SRLMSRLM Posts: 5,045
    edited 2009-10-27 18:19
    Interesting. However, I would prefer the option of a much more concise box appearing, perhaps with just the essentials (no more than a few words). It would be nice if the user could then press a key (alt maybe, or the submenu key, or the windows key) to get the full version.

    As for common objects, the obex provides an (almost) sorted list by download:

    obex.parallax.com/objects/search/?o=7&ot=
  • CounterRotatingPropsCounterRotatingProps Posts: 1,132
    edited 2009-10-27 18:34
    @Steve (jazzed) - thanks

    > Can you also set an "on-demand" mode to get cursor or mouse pointer context help with F1 or some other key?

    maybe - I think so, but will have to experiment with that a bit.

    > Intellisis with .help is great for things I don't use all the time, but it can be annoying for common stuff.

    Yes, see reply below to SRLM...

    > Also having an object.method "preview mode" that could show a object method signature/comments and/or body would be cool.

    Do you mean dynamic recognition of a user defined object, ala real intellisense? If so, this might not be possible with this approach ... have been thinking about that already. A static object that is previously documented would be OK however, so it's limited in abilities.

    @SRLM -

    RE: "help terseness" Cool idea and I agree completely with your line of thought... nothing more annoying than too much info!

    This would be pretty easy to implement --- could cycle through levels of verbosity with one key... have to think about this one too some.

    RE: OBEX - at this point, this is a bit more than I can work on... perhaps once I post the whole thing, others can hack on it too.

    thanks for the feedback, OBC, Tim, Steve, SRLM ... looking forward to more replies.

    - Howard

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • jazzedjazzed Posts: 11,803
    edited 2009-10-27 18:34
    Yes, flexibility in what pops up can make a big difference.
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-10-27 18:41
    Sounds really nice...

    I agree with SRLM, not too much info with additional to follow a key.

    As for Objects...
    Assume and object FDX. When you type "FDX." the intellisense should show all PUB calls of that object with the parameters (easy, just read through the object when it is declared for the PUB lines). If not declared, the intellisense should just state "undeclared".

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
    · Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • CounterRotatingPropsCounterRotatingProps Posts: 1,132
    edited 2009-10-27 18:47
    Thanks Cluso

    RE: FDX - not sure this is possible ... or it's more sophisticated than I can wrap my head around at the moment. At this point, I'm planning on a rather dumb intellisense [noparse]:)[/noparse] ... it just recognizes the input tokens... scanning the input file is a big (but maybe possible) leap.

    Just curious, why "FDX" ? as opposed to any other 3 keys?

    - H

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • jazzedjazzed Posts: 11,803
    edited 2009-10-27 19:03
    Didn't mean to ask for too much Howard. wink.gif
    A dedicated editor might be necessary for finding user object methods.
    I use bstc list files for getting the right stuff in my debugger tools.
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-10-27 19:07
    I use FDX often for the FullDuplexSerial name. So what I am saying is...

    OBJ
    FDX : "FullDuplexSerial"

    Your program would now scan "FullDuplexSerial.spin" and save the PUB lines.
    When your program saw...

    FDX.
    Intellisense would display the PUB lines (less the word PUB of course). That is, it displays all options that may follow FDX. such as FDX.tx(char)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
    · Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • SRLMSRLM Posts: 5,045
    edited 2009-10-27 19:12
    I don't know how your program works, but you would want to make sure that it doesn't pop the box up when you are typing the keyword in a comment or a string.
  • CounterRotatingPropsCounterRotatingProps Posts: 1,132
    edited 2009-10-27 19:47
    jazzed said...
    Didn't mean to ask for too much Howard. wink.gif
    A dedicated editor might be necessary for finding user object methods.
    I use bstc list files for getting the right stuff in my debugger tools.
    No Problem, Steve ... I'm not on payroll, so the bosses can't ask me for the impossible tongue.gif

    This thing is pretty simple - that's why I said 'some' intellisense features.

    BTW, I am still noodling with SPUD. And the debugger stuff you've done, as well as Ariba's wonderful PASD, were part of what got me thinking in this direction in the first place.

    I don't want to write YAPE (Yet Another Prop Editor [noparse]:)[/noparse] ... and I hoping that this thing is open ended enough that others will pick up and run with it to other things.
    Cluso said...
    OBJ
    FDX : "FullDuplexSerial
    DOH! I should have guessed ... was thinking more in the clouds, like "Forum Distributed object eXchange" ... thanks for bringing me back to Earth.· OK,·though it·might be doable, this might be way to cludgy to work right.· Think of it more like a keyboard watcher that does an action when it recoginizes a token, not something that's embedded insider the editor... although it does have the ability to read the files on the fly.
    SRLM said...
    I don't know how your program works, but you would want to make sure that it doesn't pop the box up when you are typing the keyword in a comment or a string
    Yes, this might be a PITA - There isn't an easy way to figure out if and when you're in a comment or string because it's not embedded in the editor.· Well, actually, it *is* possible, but don't expect that until version 2 or 3 (and I'd be needing help from others here.) I think the first version would let you toggle the verbosity level, or merely turn the helper off/on. ... am testing this as we speak [noparse]:)[/noparse] Worst cause is you'd have to hover over the ESC key to dismiss the window... gotta pay your dues somehow [noparse]:)[/noparse]) ... remember this is not a new Prop IDE.

    - H

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Sign In or Register to comment.