I've been hesitating to re-open the APN project again, as there's a lot of deferred maintenance needed (probably days worth), most of that is just sorting out compatibility issues arising from updates of the many different components, tools, dependencies, etc. (The Python 3 update is going to be particularly challenging.) That will no doubt then lead to multiple rounds of minor feature refinements. All of which is to the good.
What isn't so good is that despite APN being vastly superior as a program editor than VUE (it's not an exaggeration to say that APN is to VUE as VUE is to a teletype line editor), the latter remains vastly more popular. So in terms of maximizing the return on the tool development investment to the entire A-Shell community, I sometimes wonder whether we might be better off adding ASB support to some industry-standard editor (Visual Studio Code?) that we don't have to be maintain ourselves. Of course that would be an even bigger project to create the language definition and integration, with a result that isn't necessarily going to be more popular than APN. (In fact, it might just create another rival faction of developers competing for attention with the APN crowd.)
I'm really just thinking out loud here. But perhaps it's time to have a discussion about the best way forward in editors or IDEs before going too much farther down the current path.
By the way, you might want to update your compil.exe (latest version is 1014) ... compil-6.5.1014-w32.zip
I definitely understand those challenges/concerns.
Does it take an update to APN to fix the Private/Dynamic function issue? I updated compile.exe and copied it to ctags.exe, and the private/dynamic functions don't show up.
The only problem with Jorge's solution is how to get in on the black market that will develop!
But Stephen you make a good point that it shouldn't require an update of APN to make the private functions show up in the tags. I should be able to resolve that in the compiler itself.
Now that I'm trying to reproduce the problem, I can't. I've tried it with several programs, but just to start with a simple example...
The qualifiers do not show up in the Tags window, but the function names do. (I always name private functions in all lower case, so I didn't need any other information to distinguish them.) But is that the issue? Or is more like the mechanism breaks down at some point?
1st Image shows the function in the tags without PRIVATE. 2nd Shows the function missing from the tags with PRIVATE in caps. 3rd Shows the function missing from the tags with price in lowercase.
Is there a way to include images inline without uploading them elsewhere?
I think I see the problem. The private functions show up in the tags for the main program, but not for ++include modules? I suspect the example code you show is from an include module, correct? If you switch to the main module, do those functions then show up in the tags?
As for the images, I believe you can use the "Attachment Manager" feature (under Post Options below the editing window when you've selected the Use Full Editor button. I'm going to try it here below. (Unfortunately it doesn't seem to show up in the preview, but after clicking post, it should) ...
You are correct the issue is in an include file. The private function does show up in the main module as you suspect.
I used the attachment manager for those 3 pictures, but that give you any control to comment around them. I was asking about being able to use the insert image without having to upload them to Mediafire, or some other hosting site. The insert image tag only has a URL option.
Ok, I'm glad we sorted that out. I'm not sure whether the issue can be easily resolved in the compiler or not. (Since they are all grouped under the same Functions tag, it may just be a matter of dropping the private and dynamic qualifiers from the tag information.)
As for attaching comments to images, oddly the Attachment Manager does ask for a comment, but it doesn't seem to display it. That might be a bug in the BBS software. I'll forward it to our BBS guru (Ty).
Although I can't weigh in on the APN issues, I thought this was coincidentally an interesting segway.
We are working on a Visual Studio Code extension for A-Shell.
It is still fairly early days but the syntax highlighting is mostly complete. We've started adding in some of the more fancy stuff such as folding markers (see attached) and Tom got compil.exe running as a Task with proper Problems outputs (see attached).
I'll keep everyone up-to-date as we are very busy at the moment and this is very much a work-in-progress.
Matt Swann
OmniLedger - Software Developer Welwyn Garden City, UK
The more advanced features, such as Goto Definition are going to need some fairly considerable work but having VSCode's Command Palette is very liberating.
I started it because I was having a problem with performance when working remotely on files on our office server. With VSCode, and a server-side compiler setup, you can work on files remotely almost as seamlessly as working on them in house.
When we are a little further along, I'll put a proper post up about it.
Matt Swann
OmniLedger - Software Developer Welwyn Garden City, UK
Hey Matt - that's quite interesting and exciting news! I've periodically considered taking on that project myself, but between the complexity of the task and the fact that APN works "pretty well", I never quite got over the motivation hurdle (And I'm glad I didn't start working on it secretly on the side, only to discover much later you were doing the same thing! )
But you're right that VSCode offers a lot of potential benefits over APN, particularly for remote work and code sharing, and am very much looking forward to your progress.
Note that we ended up making several internal refinements to the standalone Windows version of the ASB compiler to integrate better with APN (particularly to support its tagging mechanism), and I'd be happy to do something similar to improve and assist the integration with VSCode, so don't hesitate to ask for help. I suspect there will be others interested in taking advantage of your work, so at some point we may want to discuss whether and how you want to facilitate that.
At the moment it is just a fancy syntax highligher but I'll try and get a bit more done before the conference (OmniLedger are sending me this year ). Although I can't promise anything as our new system is currently being deployed which means we are essentially on a year long crunch .
EDIT: I felt the love this morning when I saw where you've chosen for the conference . Once I've done some cleaning up, I'll open up the main repo as Open Source is best! Beta can be found here. :
No compil or anything yet, just the highlighting and a bit of the folding markers but I am already using it almost full time.
P.S. I'll do a proper post on the forum when the next version is ready.
P.P.S Open command Palette (Ctrl+Shift+P) and search for "Open User Settings (JSON)", add the following line at the bottom of that object to fix the Word Separators (such as double clicking variable names with apostrophes and $ in them);
I've been playing with VsCode and "think" i can start using it over APN soon... very soon...
Any one know if you can create a Macro, so on a Key Press it can execute a remote .exe also passing the file name and directory parameters? This is how 80% time I compile in APN (See shortcut.png)
The VSCode Basic grammar colour syntax was a bit off putting for Ashell/Basic but I tried Matts fantastic ashell-1.0.1.vsix and this then all came together looking better! Top Marks Matt. (See b4.png and after.png)