OS2 World Community Forum

OS/2, eCS & ArcaOS - Technical => Programming => Topic started by: Dariusz Piatkowski on April 08, 2021, 03:06:49 am

Title: VSLICK - OS/2 Toolkit Support Package
Post by: Dariusz Piatkowski on April 08, 2021, 03:06:49 am
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?
Title: Re: VSLICK - OS/2 Toolkit Support Package
Post by: Neil Waldhauer on April 08, 2021, 03:34:08 pm
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.
Title: Re: VSLICK - OS/2 Toolkit Support Package
Post by: Andi B. on April 08, 2021, 06:54:34 pm
Quote
3) recognition of the native OS/2 Toolkit declarations (DEFINEs, TYPEDEFs, STRUCTs, etc.)
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.
Title: Re: VSLICK - OS/2 Toolkit Support Package
Post by: Dariusz Piatkowski on April 08, 2021, 07:51:15 pm
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.
Title: Re: VSLICK - OS/2 Toolkit Support Package
Post by: Andreas Schnellbacher on April 08, 2021, 11:21:56 pm
I would love to see the feature with Document->Format paragraph default to one space after the period.
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.
Title: Re: VSLICK - OS/2 Toolkit Support Package
Post by: Andreas Schnellbacher on April 09, 2021, 12:11:46 am
Dariusz, about the keyword list: Just take it from other text editors. Respect copyrights if you release it. Other ones are MED, (VSlick), FTE, (NEPMD), VIM, JEdit. Most of them have poor keyword lists for many modes.

Here's another option to create a file that contains keywords to extract, converted from an .inf or .hlp file. That applies for the docs of some libraries:
Title: Re: VSLICK - OS/2 Toolkit Support Package
Post by: Ibrahim Hakeem on April 12, 2021, 02:31:03 pm
Sorry to hijack this thread, but could you point us to where we can find a copy of VSLICK? I've been looking for a good OS/2 based IDE that's no VIM for a while now
Title: Re: VSLICK - OS/2 Toolkit Support Package
Post by: Dariusz Piatkowski on April 12, 2021, 08:20:04 pm
Hi Ibrahim,

Sorry to hijack this thread, but could you point us to where we can find a copy of VSLICK? I've been looking for a good OS/2 based IDE that's no VIM for a while now

I'm afraid there is no official way of obtaining Visual SlickEdit v4.x for OS/2 anymore. That product was available around 1993-1999 timeframe. The last fix/update I have here is Feb_1999.

Having said that, I would not be surprised if you could still find this through sites like eBay or any of the numerous archive sites out there.
Title: Re: VSLICK - OS/2 Toolkit Support Package
Post by: Dariusz Piatkowski on September 23, 2021, 11:08:42 pm
Guys,

Take a look please at the attached "User's Manual" for what I'm calling 'Visual SlickEdit Modern Theme for OS/2' configuration/customization.

I'm looking for feedback regarding what's missing in this document today. Keep in mind that this is NOT about explaining how SlickEdit does something, instead I had intended to introduce some of the control concepts the Theme uses, and then provide some of the background on how that Theme deployment is done.

My next step is to publish to Hobbes the full package so you can grab it and deploy as needed.
Title: Re: VSLICK - OS/2 Toolkit Support Package
Post by: Martin Iturbide on September 24, 2021, 01:51:24 pm
Hi Dariusz

I had quickly read the PDF and looks very good. Possible I can only suggest to put your name, date and possible a license on the rules on how to use your text (Free? Creative Commons?).

I don't have or use VSLICK, but I after following the links on the PDF text I got a question. Where can the "Modern Editor Theme for OS/2" configuration files can be downloaded? I'm guessing that an INI and VLX files should be provided, or I'm guessing wrong?

Thanks for writing this.
Regards
Title: Re: VSLICK - OS/2 Toolkit Support Package
Post by: Dariusz Piatkowski on September 24, 2021, 03:06:05 pm
Hi Martin,

As always, awesome questions and suggestions. Let me cover each one below...

...I had quickly read the PDF and looks very good. Possible I can only suggest to put your name, date and possible a license on the rules on how to use your text (Free? Creative Commons?).

Correct, I need to add this, most likely a document control page in that write-up. Right now I was focusing solely on the content. As to the license...hmm, haven't given it a thought, at all. I consider these types of things to be "public domain", meaning: anyone can contribute but the contributions must all be noted accordingly (in the document control section I suppose - my corporate thinking comes across here, as that is normally how each document would be marked up).

...I don't have or use VSLICK, but I after following the links on the PDF text I got a question. Where can the "Modern Editor Theme for OS/2" configuration files can be downloaded? I'm guessing that an INI and VLX files should be provided, or I'm guessing wrong?...

So once I have that single doc completed I will toss the ZIP out there into Hobbes most likley. I didn't want to distribute anything without there being at least a somewhat legible explanation for what the Theme package is intended to accomplish. So it's a little bit of that "what came first, the chicken or the egg?" lol

Heck, maybe we could do a quick "testing back and forth" here first? We are such a small community that it feels like tossing something into Hobbes will go practically unnoticed. Maybe GitHub...I need to look into that though, haven't done anything with that before.

Suggestions?
Title: Re: VSLICK - OS/2 Toolkit Support Package
Post by: Martin Iturbide on September 24, 2021, 03:33:09 pm
Thanks for your answers.

Quote from: Dariusz Piatkowski
Heck, maybe we could do a quick "testing back and forth" here first?
There is no problem with that. I think it will be a good way to test the "theme" first with other people that uses VSlick

Quote from: Dariusz Piatkowski
We are such a small community that it feels like tossing something into Hobbes will go practically unnoticed. Maybe GitHub...I need to look into that though, haven't done anything with that before.
I suggest, that once you have a version that you want to share it broadly public, upload it to hobbes and let me know to post a news at OS2World. Github is also good place too to store the source (text files) and work the versioning of it with git.

Regards

Title: Re: VSLICK - OS/2 Toolkit Support Package
Post by: Neil Waldhauer on September 25, 2021, 03:39:17 pm
I'd like to see a light theme to go with the dark theme.

I used to use vslick as my IDE, but it required some customization and it was never as good as Visual Studio. I used to configure a Windows machine to edit files in my OS/2 project in Visual Studio for analysis of a large project, then use vslick for coding, debugging, etc.

Now I mainly use gcc, so I'm interested in making that nicer.
Title: Re: VSLICK - OS/2 Toolkit Support Package
Post by: Dariusz Piatkowski on September 26, 2021, 02:52:46 am
Neil,

I'd like to see a light theme to go with the dark theme...

Do you have anything specific in mind?

When I started to look for the 'dark' theme, I hit the net for an hour or so until I found what felt like a good fit. The result is not entirely black, a bit of grey tossed in there along with some milder colours. Easy on the eyes.

If you can find something and send me the URL, I can try to replicate the colour scheme and roll this out with two schemes.
Title: Re: VSLICK - OS/2 Toolkit Support Package
Post by: Neil Waldhauer on September 26, 2021, 03:34:22 am
I didn't know where to search, but I found a few in this thread, and this is a post containing a very light scheme. That said, I now realize that I like the default scheme pretty well. So don't go out of your way to get a white theme just for me.

https://community.slickedit.com/index.php/topic,324.msg9857.html#msg9857 (https://community.slickedit.com/index.php/topic,324.msg9857.html#msg9857)
Title: Re: VSLICK - OS/2 Toolkit Support Package
Post by: Dariusz Piatkowski on September 26, 2021, 02:57:13 pm
Hi Neil,

I didn't know where to search, but I found a few in this thread, and this is a post containing a very light scheme. That said, I now realize that I like the default scheme pretty well. So don't go out of your way to get a white theme just for me...

No worries. I took a look at that thread, is this the white theme you are talking about:

(https://community.slickedit.com/index.php?action=dlattach;topic=324.0;attach=955;image)

If yes, easy, the poster included the USCHEME.INI file, which means I'll just copy/paste into my config.

I haven't actually compared it yet to the default VSLICK theme, but for a long time that's what I was using and I agree, it is a pretty good config.
Title: Re: VSLICK - OS/2 Toolkit Support Package
Post by: Neil Waldhauer on September 26, 2021, 03:47:56 pm
Yes, that's it exactly. I ought to go back to my vslick notes and see what I did to make it function like an IDE. I was using CSet++ as my compiler then, and all I did was write some .cmd files for vslick to execute.
Title: Re: VSLICK - OS/2 Toolkit Support Package
Post by: Dariusz Piatkowski on September 27, 2021, 11:47:18 pm
Alright...couple more updates, take a look please.

I'll get the files bundled up and u/l to this thread either later tonight or sometime tomorrow.

Thanks everyone for feedback!

EDIT
====
OK, the package is out on Hobbes now, you can find it here => https://hobbes.nmsu.edu/download/pub/incoming/vse_modern_theme-0_4.zip (https://hobbes.nmsu.edu/download/pub/incoming/vse_modern_theme-0_4.zip)
Title: Re: VSLICK - OS/2 Toolkit Support Package
Post by: Dariusz Piatkowski on November 21, 2021, 01:05:18 am
Visual SlickEdit - Modern Editor Theme for OS/2
================================
v0.6 is out, the big update here is the inclusion of the IBM OpenClass library.

Yes, everywhere else (other platforms that is) the IOC stuff is a dead-end, however for us if anyone wishes to develop using these this v0.6 update now recognizes the IOC constructs.

https://hobbes.nmsu.edu/download/pub/incoming/vse_modern_theme-0_6.zip (https://hobbes.nmsu.edu/download/pub/incoming/vse_modern_theme-0_6.zip)

FUTURE => I started the work to get GCC recognized. Making some headway, of course some conflicts between IBMCPP and GCC, so that's making it a tad slower.