Ooops
September 17, 2021, 03:58:53

Author Topic: Language Server for BlitzMax NG  (Read 643 times)

Offline Scaremonger

  • Full Member
  • ***
  • Posts: 233
    • ITSpeedway - Ramblings of a geek!
Language Server for BlitzMax NG
« on: June 25, 2021, 17:20:06 »
CURRENT VERSION:
* 0.01 Alpha

* DISCORD
* Github Project
* Github Repository

INSTALLATION INSTRUCTIONS:
* Download source code to a folder
* Open the file lsp.bmx in your BlitzMaxNG Editor (MaxIDE, Vscode etc)
* Compile a release version.
* Copy the resulting "lsp" executable to your BlitzMax/bin folder
* Start your compatible editor (VSCode for example).

KNOWN ISSUES:
* None

TARGET FOR NEXT RELEASE
* Go-To-Definition support

FUTURE PLANS
* To early to say

« Last Edit: July 07, 2021, 17:10:56 by Scaremonger »

Offline Scaremonger

  • Full Member
  • ***
  • Posts: 233
    • ITSpeedway - Ramblings of a geek!
Re: Language Server for BlitzMax NG
« Reply #1 on: June 25, 2021, 17:55:38 »
25 JUN 2021 - PM

Rename Message Handler:
  • Created folder handlers/
  • Moved message handlers from bin/ to handlers/
  • Renamed msg_initialise to TMethod_initialise
  • Renamed msg_initialised to TMethod_initialised
  • Renamed msg_shutdown to TMethod_shutdown
  • Renamed msg_exit to TMethod_exit
  • Moved TMessage from lsp.bmx to handlers/handlers.bmx
  • Updated transform() to use TMethod_* handlers
  • Updated transform() of Protocol Implementation Dependent Messages



Offline Scaremonger

  • Full Member
  • ***
  • Posts: 233
    • ITSpeedway - Ramblings of a geek!
Re: Language Server for BlitzMax NG
« Reply #2 on: June 27, 2021, 18:45:50 »
27 JUN 2021

ISSUES RESOLVED:

Transpose error: "int" is not supported
* Added try-catch into field transpose
* Fixed 'int' transpose

"shutdown" message does not return the correct id
* "shutdown" now returns the correct id

log destination is hard-coded
* TLogger now uses config instead of hard-coding

CHANGES
* Transpose now supports messages containing '/' and '$/'
* Replaced old JSON helper with a better one
* Replaced TTemplate functionality with new JSON Helper
* Created TConfig to manage local config
* Added Capability HoverProvider
* Added ClientInfo to the logfile
* Fixed a bug in JSON parser for keywords "true/false/null"
* params are now transposed into message object

NEW ISSUES:
* "textDocument/hover" is not implemented
* "$/cancelRequest" is not implemented

Offline Scaremonger

  • Full Member
  • ***
  • Posts: 233
    • ITSpeedway - Ramblings of a geek!
Re: Language Server for BlitzMax NG
« Reply #3 on: June 29, 2021, 07:02:17 »
29 JUN 2021

CHANGES
* Added logfile.debug(), logfile.info(), logfile.warning(), logfile.error(), logfile.critical()
* Added constants for log levels
* Added TLogger.loglevel (set by config)
* Updated logfile.write() with optional second parameter for severity. Default is INFO
* Added "loglevel=7" to default config
* Logged appargs for debugging

Offline Scaremonger

  • Full Member
  • ***
  • Posts: 233
    • ITSpeedway - Ramblings of a geek!
Re: Language Server for BlitzMax NG
« Reply #4 on: July 05, 2021, 07:57:52 »
5 JUL 2021

CHANGES
* Added "threadpool=" default=4 to config
* Created Threaded Message Queue
* Created Threaded Receiver
* Created Threaded Sender
* Created Threaded Worker pool
* Fixed bug in JSON.stringify() for arrays

ISSUES
* Worker is not popping jobs from the queue

Offline Skaven

  • Jr. Member
  • **
  • Posts: 25
Re: Language Server for BlitzMax NG
« Reply #5 on: July 05, 2021, 11:33:05 »
what does all this mean
how long until release or github?!

Offline Scaremonger

  • Full Member
  • ***
  • Posts: 233
    • ITSpeedway - Ramblings of a geek!
Re: Language Server for BlitzMax NG
« Reply #6 on: July 05, 2021, 19:05:22 »
I'm using this page as a list of completed tasks at the moment and the first release will be as soon as I'm happy it's stable.

Its still a very early version and the first release won't do much; it''ll only be an operational shell, but then I will be working on the features one-at-a time. If you have requests for what you want first, I'd love to hear them.

I have a Project page located HERE
The Github Repo will open shortly.

Offline GW

  • Full Member
  • ***
  • Posts: 222
Re: Language Server for BlitzMax NG
« Reply #7 on: July 07, 2021, 10:38:26 »
Good luck. I'd be happy to one-day ditch Blide.

Offline Skaven

  • Jr. Member
  • **
  • Posts: 25
Re: Language Server for BlitzMax NG
« Reply #8 on: July 07, 2021, 10:52:41 »
Good luck. I'd be happy to one-day ditch Blide.

i dont think he is making any ide only a language server

Offline Derron

  • Hero Member
  • *****
  • Posts: 3651
Re: Language Server for BlitzMax NG
« Reply #9 on: July 07, 2021, 11:07:28 »
it is tested/in development in conjunction with Visual Studio Code (and Hezkore's BlitzMax extension)


bye
Ron

Offline Scaremonger

  • Full Member
  • ***
  • Posts: 233
    • ITSpeedway - Ramblings of a geek!
Re: Language Server for BlitzMax NG
« Reply #10 on: July 07, 2021, 17:05:35 »
Hi,
Good luck. I'd be happy to one-day ditch Blide.

i dont think he is making any ide only a language server

As Ron says, it is a Language server initially being developed in VSCode with Hezkore's Blitzmax Extension. I have never used Blide, but hopefully we can give you all the features you expect at some point.

Today I have got the shell stable, so it runs but doesn't do anything useful.

The Repo is now public. Next I will be working on document parsing and indexing in preparation to get "go-to-definition" working.

Join us on DISCORD

Si...


 

SimplePortal 2.3.6 © 2008-2014, SimplePortal