OS/2, eCS & ArcaOS - Technical > Programming

VSLICK - OS/2 Toolkit Support Package

(1/4) > >>

Dariusz Piatkowski:
Alright...so why feel like a second-class citizen and languish in the "forgotten about" category of Developers???  :o

I have been using Visual SlickEdit for some years now, formerly professionally, and having had great experience with it I had actually purchased the official software way back in the day when it was still available.

So fast forward to today and as I'm trying to do a bit more in support of our platform, and therefore spending a LOT more time on reading either existing code, or trying out new things, I realized that by all accounts we are sort of stuck even in terms of the look'n'feel of the tools we use (regardless of just how old these very tools themselves are).

But...VSLICK is incredibly customizable...I mean just about everything in there is. No, I'm not trying to sell you on it (heck, there is nothing to buy out there), but the ability to re-configure things also means that we have a way to bring a little bit of that modern look'n'feel to our platform, and by extension I hope it may be easier for anyone new to developing on our platform to actually give things a try.

As such, I have been crazily busy trying to assemble a decent 'OS/2 Toolkit Support Package' for VSLICK.

What I mean by that is the following:
1) modern theme
2) syntax highlighting
3) recognition of the native OS/2 Toolkit declarations (DEFINEs, TYPEDEFs, STRUCTs, etc.)
4) pre-built 'Project Definition' modules that allow you to build projects using any C/C++ environments you may be using

Attached screenshot is what my DISKIO source looks like now..heck of a lot easier to read then with the default and/or no syntax highlighting, or no OS/2 Toolkit recognition.

So far I have covered the following Toolkit header files:
1) OS2.H
2) OS2STD.H
3) OS2DEF.H
4) BSE.H
5) BSEDOS.H
6) BSETIB.H
7) BSEDEV.H
8) BSEERR.H
9) BSEORD.H
10) PM.H
11) PMWIN.H
12) PMGPI.H
13) PMDEV.H
14) PMWP.H
15) PMAVIO.H
16) PMSPL.H
17) PMPIC.H
18) PMORD.H
19) PMFONT.H
20) PMSTDDLG.H
21) PMDJP.H
22) PMERR.H

There are a pile more, I haven't touched on any of the networking stuff yet. I think hitting the ol' OS2EMX.H is probably a must, even if that is needed just to simplify reading any existing code base.

Beyond what I have I'm looking for recommendations as to what else I need to prioritize? Which header files should I go through before we have something that feels like it covers most of the stuff one might normally use?

Neil Waldhauer:
Well, consider me subscribed. I use Vslick daily. I would love to see the feature with Document->Format paragraph default to one space after the period.

I do HTML and CSS with Vslick also, and of course that's a little behind the times, too.

Andi B.:

--- Quote ---3) recognition of the native OS/2 Toolkit declarations (DEFINEs, TYPEDEFs, STRUCTs, etc.)
--- End quote ---
Do you mean a tag file (.vtg) which points to your headers? I mean if I want to have symbols found there I add the os2tk45\h directory to the tag file list, retag and I'm done. Unfortunately the symbol window is the same as the build output window (in contrary to newer Win versions).

Another bit ugly thing is the font which is used for menus and dialog boxes. I've changed some of them with a hex editor. But configurable fonts and sizes would be cool.

Dariusz Piatkowski:
Neil,
Hmm, I wasn't quite that deep-diving into the built-in functions, but I suspect this is probably coded in their seeded macros. I will check it out...first I need to actually understand what it does, will do a little readiing on that.

Andi,
No, not just the tag files. I have done that already, and while it is very functional on it's own, without there being some kind of visual and more sophisticated syntax/keyword highligting it's still somewhat difficult for a coding newbie to understand all the seeded DEFINEs and TYPEDEFs, etc.

So my approach is to combine all of that functionality and put together a fully functioning package where any of the OS/2 Toolkit objects are recognized and appropriately identified. This way you could certainly use something like the tag file functionality to get a super-quick definition of the object itself.

Take a look at the attached capture, and let me use that to point out what I'm trying to do. Heck, it may very well be that other environments can in fact already do that...LOL! Well, I am pretty certain that VAC++ 4.0 can, but that's a fully fledged IDE that comes with some of it's own shortcomings.

OK, so looking at that capture here is what I can readily pick up:
1) the stuff in RED is a seeded Toolkit define
- INCL_DOS
- DC_SEM_SHARED
- SEM_INDEFINITE_WAIT
- EXIT_THREAD

2) the stuff in YELLOW (well, mango maybe?) is a seeded TYPEDEF
- HEV
- HTIMER
- QWORD
- ULONG
- TID

3) the stuff in darker blue are all functions
- DosCreateEventSem
- DosAsyncTimer
- DosWaitEventSem...

4) while everything else in light blue is the stuff that's really the custom development, the stuff I (or any previous authors) have created
- THREADSTACK
- TIMER
- ...and all the other variables and code

As a new developer looking at the existing codebase I have absolutely no idea (lack of knowledge and experience with the OS/2 APIs) to know this. But if my IDE can help me out in pointing this out, well, it becomes progressively easier to understand where to look for further info and/or the answers.

For now at least that's the plan.

Andreas Schnellbacher:

--- Quote from: Neil Waldhauer on April 08, 2021, 03:34:08 pm ---I would love to see the feature with Document->Format paragraph default to one space after the period.

--- End quote ---
Maybe the item I found this morning may help you. It's under Tools -> Configuration -> File extensions setup, Justify style -> 1 space after period:

BTW: I have just looked at it to explore differences and features compared to NEPMD. I don't use VSlick, and even after that, I'm ensured that there would be too many drawbacks. That's different from what I've expected.

Navigation

[0] Message Index

[#] Next page

Go to full version