Re: [fpc-pascal] Pascal Language Server

2020-05-02 Thread Mattias Gaertner via fpc-pascal
On Sat, 2 May 2020 10:18:36 +0700 Ryan Joseph via fpc-pascal wrote: >[...] > Found the problem. I overwrote "FirstChild" of TCodeTreeNode using a > var param. oops! I still thought LoadFile should have rebuilt the > node tree but it doesn't seem to do this (even if UpdateFromDisk and > Revert par

Re: [fpc-pascal] Pascal Language Server

2020-05-01 Thread Ryan Joseph via fpc-pascal
> On May 2, 2020, at 12:13 AM, Mattias Gaertner via fpc-pascal > wrote: > > By many functions in CodetoolBoss. Explore, FindDeclaration, > FindReferences, GatherIdentifiers. All of them checks if a file have > changed and rebuilds nodes. If no file/setting has changed, nodes are > kept. Found

Re: [fpc-pascal] Pascal Language Server

2020-05-01 Thread Mattias Gaertner via fpc-pascal
On Fri, 1 May 2020 21:32:24 +0700 Ryan Joseph via fpc-pascal wrote: > > On May 1, 2020, at 9:28 PM, Mattias Gaertner via fpc-pascal > > wrote: > > > > "Explore" checks if some files have changed and if so rebuilds the > > nodes. > > so I missed something fundamental! I used Explore because I

Re: [fpc-pascal] Pascal Language Server

2020-05-01 Thread Ryan Joseph via fpc-pascal
> On May 1, 2020, at 9:28 PM, Mattias Gaertner via fpc-pascal > wrote: > > "Explore" checks if some files have changed and if so rebuilds the > nodes. so I missed something fundamental! I used Explore because I noticed that I was able to get parser errors after calling it. When does the actu

Re: [fpc-pascal] Pascal Language Server

2020-05-01 Thread Mattias Gaertner via fpc-pascal
On Fri, 1 May 2020 20:23:01 +0700 Ryan Joseph via fpc-pascal wrote: >[...] > > What are you doing between calls of Explore? > > I'm walking the node tree and then using the Start/EndPos to read > into the source text so that I can extract identifier. It's just: > LoadFile, Explore, WalkTree. I

Re: [fpc-pascal] Pascal Language Server

2020-05-01 Thread Ryan Joseph via fpc-pascal
> On May 1, 2020, at 4:55 PM, Mattias Gaertner via fpc-pascal > wrote: > > This thread is getting too long. > > Can you please create new threads for new topics? Sure. I'll respond now on this last question but I'll make new ones later if that's better for the list. > > On Fri, 1 May 2020

Re: [fpc-pascal] Pascal Language Server

2020-05-01 Thread Mattias Gaertner via fpc-pascal
On Wed, 29 Apr 2020 21:18:02 +0700 Ryan Joseph via fpc-pascal wrote: > Testing this more I'm having a problem getting overwhelmed by > completions for classes because of methods from TObject (and other > parents) The RTL is powerful. That's why I prefer to put recently used identifiers at top of

Re: [fpc-pascal] Pascal Language Server

2020-05-01 Thread Mattias Gaertner via fpc-pascal
This thread is getting too long. Can you please create new threads for new topics? On Fri, 1 May 2020 16:27:46 +0700 Ryan Joseph via fpc-pascal wrote: > Ok, got things working now. Here's the basic pattern I'm using. I > call explore and then walk the root tree node to find what I need but > i'

Re: [fpc-pascal] Pascal Language Server

2020-05-01 Thread Ryan Joseph via fpc-pascal
Ok, got things working now. Here's the basic pattern I'm using. I call explore and then walk the root tree node to find what I need but i've noticed the 2nd time I do this I get less results than the first time! What is happening? I assume it's caching something but do I need to reference the ca

Re: [fpc-pascal] Pascal Language Server

2020-05-01 Thread Ryan Joseph via fpc-pascal
> On May 1, 2020, at 2:42 PM, Mattias Gaertner via fpc-pascal > wrote: > > The Node.StartPos are referring to the Tool.Scanner.CleanedSrc, which is > the code stripped of skipped $ifdef ranges and include files included. That's what I was missing. Thanks again. Regards, Ryan Joseph

Re: [fpc-pascal] Pascal Language Server

2020-05-01 Thread Mattias Gaertner via fpc-pascal
On Fri, 1 May 2020 12:31:26 +0700 Ryan Joseph via fpc-pascal wrote: > Stuck on another code tools problem. > > I've been using code like this to find words at node offsets and this > works well until there are $ifdefs in the file and then the text > position getting offset and fail to return the

Re: [fpc-pascal] Pascal Language Server

2020-04-30 Thread Ryan Joseph via fpc-pascal
Stuck on another code tools problem. I've been using code like this to find words at node offsets and this works well until there are $ifdefs in the file and then the text position getting offset and fail to return the correct identifiers. GetIdentifier(@Code.Source[Node.StartPos]); How should

Re: [fpc-pascal] Pascal Language Server

2020-04-29 Thread Ryan Joseph via fpc-pascal
> On Apr 29, 2020, at 3:15 PM, Ryan Joseph wrote: > > This wasn't doing what I thought. It still doesn't give an error until I > query at another point in the unit. I thought it would pre-parse or something > but it seems to be on demand. I may have to handle the errors in another way. > >

Re: [fpc-pascal] Pascal Language Server

2020-04-29 Thread Ryan Joseph via fpc-pascal
Testing this more I'm having a problem getting overwhelmed by completions for classes because of methods from TObject (and other parents) so I'd like to add some information about this. Using this method: if CodeToolBoss.GatherIdentifiers(Code,X + 1,Y + 1) then begin Count := Code

Re: [fpc-pascal] Pascal Language Server

2020-04-29 Thread Michael Van Canneyt
On Wed, 29 Apr 2020, Ryan Joseph via fpc-pascal wrote: On Apr 29, 2020, at 3:37 PM, Michael Van Canneyt wrote: if the Lazarus team can implement a LSP plugin for the editor, then we'd have instant language support for a whole bunch of languages. That would be awesome... but language se

Re: [fpc-pascal] Pascal Language Server

2020-04-29 Thread Ryan Joseph via fpc-pascal
> On Apr 29, 2020, at 3:37 PM, Michael Van Canneyt > wrote: > > if the Lazarus team can implement a LSP plugin for the editor, then we'd have > instant language support > for a whole bunch of languages. That would be awesome... but language servers don't do any syntax styling so they're only

Re: [fpc-pascal] Pascal Language Server

2020-04-29 Thread Michael Van Canneyt
On Wed, 29 Apr 2020, Ryan Joseph via fpc-pascal wrote: On Apr 29, 2020, at 3:23 PM, Michael Van Canneyt wrote: and then it should be a matter of creating a descendent of the language client. The C# one seems easy enough to convert :-) Let me know if you can figure it out. Will do.

Re: [fpc-pascal] Pascal Language Server

2020-04-29 Thread Ryan Joseph via fpc-pascal
> On Apr 29, 2020, at 3:23 PM, Michael Van Canneyt > wrote: > > and then it should be a matter of creating a descendent of the language > client. > The C# one seems easy enough to convert :-) Let me know if you can figure it out. VSCode looks pretty difficult: https://github.com/donaldpip

Re: [fpc-pascal] Pascal Language Server

2020-04-29 Thread Michael Van Canneyt
On Wed, 29 Apr 2020, Ryan Joseph via fpc-pascal wrote: On Apr 28, 2020, at 7:47 PM, Michael Van Canneyt wrote: Incredibly looking forward to test-driving this in Atom... :-) Michael, do you actually know how to setup a language server in Atom? I've only tested on Sublime Text but I do

Re: [fpc-pascal] Pascal Language Server

2020-04-29 Thread Ryan Joseph via fpc-pascal
> On Apr 28, 2020, at 10:01 PM, Mattias Gaertner via fpc-pascal > wrote: > > Yes This wasn't doing what I thought. It still doesn't give an error until I query at another point in the unit. I thought it would pre-parse or something but it seems to be on demand. I may have to handle the erro

Re: [fpc-pascal] Pascal Language Server

2020-04-29 Thread Ryan Joseph via fpc-pascal
> On Apr 28, 2020, at 7:47 PM, Michael Van Canneyt > wrote: > > Incredibly looking forward to test-driving this in Atom... :-) Michael, do you actually know how to setup a language server in Atom? I've only tested on Sublime Text but I do plan to learn how to setup VSCode also when I find

Re: [fpc-pascal] Pascal Language Server

2020-04-28 Thread Mattias Gaertner via fpc-pascal
On Tue, 28 Apr 2020 20:58:18 +0700 Ryan Joseph via fpc-pascal wrote: > > On Apr 28, 2020, at 8:52 PM, Mattias Gaertner via fpc-pascal > > wrote: > > > > Codetoolboss.Error* > > Not sure I'm understand the usage. When do I check for errors and are > there ever more than 1 or just the last err

Re: [fpc-pascal] Pascal Language Server

2020-04-28 Thread Ryan Joseph via fpc-pascal
> On Apr 28, 2020, at 8:52 PM, Mattias Gaertner via fpc-pascal > wrote: > > Codetoolboss.Error* Not sure I'm understand the usage. When do I check for errors and are there ever more than 1 or just the last error? I'm guessing maybe after: URI := ParseURI(textDocument.uri); Code := C

Re: [fpc-pascal] Pascal Language Server

2020-04-28 Thread Mattias Gaertner via fpc-pascal
On Tue, 28 Apr 2020 20:28:16 +0700 Ryan Joseph via fpc-pascal wrote: >[...] > Speaking of that is there a way in code tools to get a list of > parsing errors that occurred for a given file? It's possible that > parsing fails but I don't know where errors occurred until I make a > query and comes

Re: [fpc-pascal] Pascal Language Server

2020-04-28 Thread Ryan Joseph via fpc-pascal
> On Apr 28, 2020, at 7:47 PM, Michael Van Canneyt > wrote: > > Incredibly looking forward to test-driving this in Atom... :-) The biggest left is getting diagnostics working so we can see errors that popup. Speaking of that is there a way in code tools to get a list of parsing errors that

Re: [fpc-pascal] Pascal Language Server

2020-04-28 Thread Michael Van Canneyt
On Tue, 28 Apr 2020, Ryan Joseph via fpc-pascal wrote: On Apr 28, 2020, at 4:04 PM, Michael Van Canneyt wrote: You can do what most VSCode/Atom project managers seem to, add package.json or somesuch: { "pascal-lsp" : { "projectfile" : "yourproject.pas", "searchpath" : ["a","b"] }

Re: [fpc-pascal] Pascal Language Server

2020-04-28 Thread Ryan Joseph via fpc-pascal
> On Apr 28, 2020, at 4:04 PM, Michael Van Canneyt > wrote: > > You can do what most VSCode/Atom project managers seem to, add package.json > or somesuch: > > { > "pascal-lsp" : { >"projectfile" : "yourproject.pas", >"searchpath" : ["a","b"] > } > } Yes, that's what the plugin for

Re: [fpc-pascal] Pascal Language Server

2020-04-28 Thread Michael Van Canneyt
On Tue, 28 Apr 2020, Ryan Joseph via fpc-pascal wrote: On Apr 28, 2020, at 3:45 PM, Michael Van Canneyt wrote: Why do you think so ? The codetools will find all referenced units that it finds in the unit search path. You're right. I was thinking there are going to be units that aren't

Re: [fpc-pascal] Pascal Language Server

2020-04-28 Thread Ryan Joseph via fpc-pascal
> On Apr 28, 2020, at 3:45 PM, Michael Van Canneyt > wrote: > > Why do you think so ? The codetools will find all referenced units that it > finds in the unit search path. You're right. I was thinking there are going to be units that aren't referenced by the main program but why do

Re: [fpc-pascal] Pascal Language Server

2020-04-28 Thread Mattias Gaertner via fpc-pascal
On Tue, 28 Apr 2020 15:34:57 +0700 Ryan Joseph via fpc-pascal wrote: > > On Apr 28, 2020, at 3:26 PM, Michael Van Canneyt > > wrote: > > > > That's a wrong approach. Pascal units are in a uses-tree. You need > > a starting point, the top of the tree: a single module. > > I can make the user

Re: [fpc-pascal] Pascal Language Server

2020-04-28 Thread Michael Van Canneyt
On Tue, 28 Apr 2020, Ryan Joseph via fpc-pascal wrote: On Apr 28, 2020, at 3:26 PM, Michael Van Canneyt wrote: That's a wrong approach. Pascal units are in a uses-tree. You need a starting point, the top of the tree: a single module. I can make the user provide the program file and sta

Re: [fpc-pascal] Pascal Language Server

2020-04-28 Thread Ryan Joseph via fpc-pascal
> On Apr 28, 2020, at 3:26 PM, Michael Van Canneyt > wrote: > > That's a wrong approach. Pascal units are in a uses-tree. You need a starting > point, the top of the tree: a single module. I can make the user provide the program file and start from there but then the references in other uni

Re: [fpc-pascal] Pascal Language Server

2020-04-28 Thread Michael Van Canneyt
On Tue, 28 Apr 2020, Ryan Joseph via fpc-pascal wrote: On Apr 28, 2020, at 3:06 PM, Mattias Gaertner via fpc-pascal wrote: You can add any number of files as start. Just call AddStartUnit for every starting module. For example add all Pascal modules of the workspace directory. In TCode

Re: [fpc-pascal] Pascal Language Server

2020-04-28 Thread Ryan Joseph via fpc-pascal
> On Apr 28, 2020, at 3:06 PM, Mattias Gaertner via fpc-pascal > wrote: > > You can add any number of files as start. Just call AddStartUnit > for every starting module. > For example add all Pascal modules of the workspace directory. In TCodeToolsOptions we provide FPCOptions and ProjectDir

Re: [fpc-pascal] Pascal Language Server

2020-04-28 Thread Michael Van Canneyt
On Tue, 28 Apr 2020, Mattias Gaertner via fpc-pascal wrote: On Tue, 28 Apr 2020 09:34:36 +0700 Ryan Joseph via fpc-pascal wrote: > On Apr 28, 2020, at 4:18 AM, Mattias Gaertner via fpc-pascal > wrote: [...] LSP doesn't have a concept of the "main file" but this seems to require the main pr

Re: [fpc-pascal] Pascal Language Server

2020-04-28 Thread Mattias Gaertner via fpc-pascal
On Tue, 28 Apr 2020 09:34:36 +0700 Ryan Joseph via fpc-pascal wrote: > > On Apr 28, 2020, at 4:18 AM, Mattias Gaertner via fpc-pascal > > wrote: >[...] > LSP doesn't have a concept of the "main file" but this seems to > require the main program file to start the search from. All we get > from LS

Re: [fpc-pascal] Pascal Language Server

2020-04-27 Thread Ryan Joseph via fpc-pascal
I've learned how to use FindBlockCounterPart but it would be preferable to get the ranges which contain the identifiers that are the start/end of the blocks. For example the ranges of "begin" and "end" instead of the entire range which spans from the cursor to the end of the block. Any sugges

Re: [fpc-pascal] Pascal Language Server

2020-04-27 Thread Ryan Joseph via fpc-pascal
> On Apr 28, 2020, at 4:18 AM, Mattias Gaertner via fpc-pascal > wrote: > > I added an example for FindReferences: > lazarus/components/codetools/example/findreferences.lpi I see now, there are more steps involved than I thought. LSP doesn't have a concept of the "main file" but this seems

Re: [fpc-pascal] Pascal Language Server

2020-04-27 Thread Ryan Joseph via fpc-pascal
> On Apr 28, 2020, at 4:36 AM, Zoë Peterson wrote: > > Ryan, > > Do you have a link to the LSP discord channel? I tried following the one you > posted Friday, but I got an error that I either didn't have access to any > text channels or there weren't any on the server. > > Thanks! Here's

Re: [fpc-pascal] Pascal Language Server

2020-04-27 Thread Zoë Peterson
Ryan, Do you have a link to the LSP discord channel?  I tried following the one you posted Friday, but I got an error that I either didn't have access to any text channels or there weren't any on the server. Thanks! On 4/27/2020 10:12 AM, Ryan Joseph via fpc-pascal wrote: On Apr 26, 2020

Re: [fpc-pascal] Pascal Language Server

2020-04-27 Thread Mattias Gaertner via fpc-pascal
On Mon, 27 Apr 2020 22:12:30 +0700 Ryan Joseph via fpc-pascal wrote: > > On Apr 26, 2020, at 4:46 PM, Ryan Joseph > > wrote: > > > > The other thing I'm stuck on with code tools. In TCodeManagerTool: > > > >function FindReferences(IdentifierCode: TCodeBuffer; > > X, Y: integer; Se

Re: [fpc-pascal] Pascal Language Server

2020-04-27 Thread Michael Van Canneyt
On Mon, 27 Apr 2020, Ryan Joseph via fpc-pascal wrote: On Apr 26, 2020, at 4:46 PM, Ryan Joseph wrote: The other thing I'm stuck on with code tools. In TCodeManagerTool: function FindReferences(IdentifierCode: TCodeBuffer; X, Y: integer; SearchInCode: TCodeBuffer; SkipComment

Re: [fpc-pascal] Pascal Language Server

2020-04-27 Thread Ryan Joseph via fpc-pascal
> On Apr 26, 2020, at 4:46 PM, Ryan Joseph wrote: > > The other thing I'm stuck on with code tools. In TCodeManagerTool: > >function FindReferences(IdentifierCode: TCodeBuffer; > X, Y: integer; SearchInCode: TCodeBuffer; SkipComments: boolean; > var ListOfPCodeXYPosition:

Re: [fpc-pascal] Pascal Language Server

2020-04-26 Thread Ryan Joseph via fpc-pascal
The other thing I'm stuck on with code tools. In TCodeManagerTool: function FindReferences(IdentifierCode: TCodeBuffer; X, Y: integer; SearchInCode: TCodeBuffer; SkipComments: boolean; var ListOfPCodeXYPosition: TFPList; var Cache: TFindIdentifierReferenceCache

Re: [fpc-pascal] Pascal Language Server

2020-04-25 Thread Ryan Joseph via fpc-pascal
I'm still stuck on this problem. I can get the full proc head using CodeTool.ExtractProcHead but I can't get the name/type parameter pairs in a list (unless I do something stupid like parse the string from ExtractProcHead). I need to return the parameters in discrete pairs in text that matches t

Re: [fpc-pascal] Pascal Language Server

2020-04-25 Thread Mattias Gaertner via fpc-pascal
On Sat, 25 Apr 2020 21:08:52 +0700 Ryan Joseph via fpc-pascal wrote: > > On Apr 25, 2020, at 8:49 PM, Michael Van Canneyt > > wrote: > > > > It will run on a server that never installed lazarus. > > Excellent. Where are the caches kept btw? Memory. Mattias __

Re: [fpc-pascal] Pascal Language Server

2020-04-25 Thread Michael Van Canneyt
On Sat, 25 Apr 2020, Ryan Joseph via fpc-pascal wrote: On Apr 25, 2020, at 8:49 PM, Michael Van Canneyt wrote: It will run on a server that never installed lazarus. Excellent. Where are the caches kept btw? I thought they were in the Lazarus directory but I guess not. I suspect in a

Re: [fpc-pascal] Pascal Language Server

2020-04-25 Thread Ryan Joseph via fpc-pascal
> On Apr 25, 2020, at 8:49 PM, Michael Van Canneyt > wrote: > > It will run on a server that never installed lazarus. Excellent. Where are the caches kept btw? I thought they were in the Lazarus directory but I guess not. Regards, Ryan Joseph ___

Re: [fpc-pascal] Pascal Language Server

2020-04-25 Thread Michael Van Canneyt
On Sat, 25 Apr 2020, Ryan Joseph via fpc-pascal wrote: On Apr 25, 2020, at 7:48 PM, Mattias Gaertner via fpc-pascal wrote: It's gpl/lgpl. Feel free to use parts. sure, but does it does it depend on other systems which are installed from Lazarus or will a stand-alone binary run on a sy

Re: [fpc-pascal] Pascal Language Server

2020-04-25 Thread Ryan Joseph via fpc-pascal
> On Apr 25, 2020, at 7:48 PM, Mattias Gaertner via fpc-pascal > wrote: > > It's gpl/lgpl. Feel free to use parts. sure, but does it does it depend on other systems which are installed from Lazarus or will a stand-alone binary run on a system that never installed Lazarus? Regards,

Re: [fpc-pascal] Pascal Language Server

2020-04-25 Thread Mattias Gaertner via fpc-pascal
On Sat, 25 Apr 2020 19:43:32 +0700 Ryan Joseph via fpc-pascal wrote: > Is the following line something which can be cached? Currently this > is going to be called very often but is it an expensive operation? > Not sure what it does exactly > > Code := CodeToolBoss.FindFile(URI.Path + URI.Doc

Re: [fpc-pascal] Pascal Language Server

2020-04-25 Thread Mattias Gaertner via fpc-pascal
On Sat, 25 Apr 2020 19:29:41 +0700 Ryan Joseph via fpc-pascal wrote: >[...] > Since we're so invested in code tools now what is actually required > for users in terms of Lazarus? Can we just package a single binary > which links to code tools or do users need to install an entire > Lazarus setup?

Re: [fpc-pascal] Pascal Language Server

2020-04-25 Thread Ryan Joseph via fpc-pascal
Is the following line something which can be cached? Currently this is going to be called very often but is it an expensive operation? Not sure what it does exactly Code := CodeToolBoss.FindFile(URI.Path + URI.Document); Regards, Ryan Joseph

Re: [fpc-pascal] Pascal Language Server

2020-04-25 Thread Ryan Joseph via fpc-pascal
> On Apr 25, 2020, at 6:51 PM, Mattias Gaertner via fpc-pascal > wrote: > > Hmm. Maybe "make distclean" does not remove all files. I wish, you had > kept a copy. It'll probably happen again. ;) Since we're so invested in code tools now what is actually required for users in terms of Lazarus

Re: [fpc-pascal] Pascal Language Server

2020-04-25 Thread Mattias Gaertner via fpc-pascal
On Fri, 24 Apr 2020 15:55:44 +0700 Ryan Joseph via fpc-pascal wrote: > > On Apr 24, 2020, at 3:32 PM, Mattias Gaertner via fpc-pascal > > wrote: > > > > Are there any ppu files left after "make distclean"? > > I just trashed the entire thing and started over. It was easier that > way, much e

Re: [fpc-pascal] Pascal Language Server

2020-04-25 Thread Joost van der Sluis
Op 25-04-2020 om 05:53 schreef Ryan Joseph via fpc-pascal In the FPC streaming system with published properties, what type do I use for an array of strings? I've tried TStringList and TCollection but they give me errors like: :: <~~ pascal-language-server 1: {'message': ' : Unsupported JSON ty

Re: [fpc-pascal] Pascal Language Server

2020-04-25 Thread Mattias Gaertner via fpc-pascal
On Sat, 25 Apr 2020 09:02:50 +0200 Mattias Gaertner via fpc-pascal wrote: > On Sat, 25 Apr 2020 12:03:55 +0700 > Ryan Joseph via fpc-pascal wrote: > > > I have FindCodeContext working correctly I believe because ProcName > > from TCodeContextInfo returns the correct name of the function. In > >

Re: [fpc-pascal] Pascal Language Server

2020-04-25 Thread Ryan Joseph via fpc-pascal
> On Apr 25, 2020, at 2:02 PM, Mattias Gaertner via fpc-pascal > wrote: > >> I have FindCodeContext working correctly I believe because ProcName >> from TCodeContextInfo returns the correct name of the function. In >> TCodeContextInfoItem the params string list is nil though. Shouldn't >> that

Re: [fpc-pascal] Pascal Language Server

2020-04-25 Thread Mattias Gaertner via fpc-pascal
On Sat, 25 Apr 2020 12:03:55 +0700 Ryan Joseph via fpc-pascal wrote: > I have FindCodeContext working correctly I believe because ProcName > from TCodeContextInfo returns the correct name of the function. In > TCodeContextInfoItem the params string list is nil though. Shouldn't > that contain the

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Ryan Joseph via fpc-pascal
I have FindCodeContext working correctly I believe because ProcName from TCodeContextInfo returns the correct name of the function. In TCodeContextInfoItem the params string list is nil though. Shouldn't that contain the list of parameters? Not sure how this intended to be used if that list of

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Ryan Joseph via fpc-pascal
In the FPC streaming system with published properties, what type do I use for an array of strings? I've tried TStringList and TCollection but they give me errors like: :: <~~ pascal-language-server 1: {'message': ' : Unsupported JSON type for object property: "jtArray"', 'code': -32603} "init

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Ryan Joseph via fpc-pascal
> On Apr 24, 2020, at 9:44 PM, Mattias Gaertner via fpc-pascal > wrote: > >> I assumed it was just a >> reference to the current file which corresponds to the line/column >> numbers. >> >> Sorry, what do you want to see a demo of? The language server? > > Yes. The first message has the Git

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Joost van der Sluis
Op 24-04-2020 om 16:44 schreef Mattias Gaertner via fpc-pascal: On Fri, 24 Apr 2020 21:34:41 +0700 Ryan Joseph via fpc-pascal wrote: On Apr 24, 2020, at 9:28 PM, Mattias Gaertner via fpc-pascal wrote: Still FindFile instead of LoadFile? Do you get all mails from this list? I don't know wh

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Mattias Gaertner via fpc-pascal
On Fri, 24 Apr 2020 21:34:41 +0700 Ryan Joseph via fpc-pascal wrote: > > On Apr 24, 2020, at 9:28 PM, Mattias Gaertner via fpc-pascal > > wrote: > > > > Still FindFile instead of LoadFile? > > > > Do you get all mails from this list? > > I don't know what the code buffer technically is but

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Ryan Joseph via fpc-pascal
> On Apr 24, 2020, at 9:28 PM, Mattias Gaertner via fpc-pascal > wrote: > > Still FindFile instead of LoadFile? > > Do you get all mails from this list? I don't know what the code buffer technically is but FindFile works after the source was set previously. I assumed it was just a reference

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Mattias Gaertner via fpc-pascal
On Fri, 24 Apr 2020 20:58:45 +0700 Ryan Joseph via fpc-pascal wrote: > > On Apr 24, 2020, at 4:54 PM, Ryan Joseph > > wrote: > > > > I'm not able to get this one working then. Is the buffer the > > current file? This is what I'm doing: > > > > > >URI := ParseURI(textDocument.uri); > >

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Mattias Gaertner via fpc-pascal
On Fri, 24 Apr 2020 16:54:43 +0700 Ryan Joseph via fpc-pascal wrote: > > On Apr 24, 2020, at 4:49 PM, Mattias Gaertner via fpc-pascal > > wrote: > >> When I hover over a function in Lazarus I get a function definition > >> and unit location. Is that coming from > >> TCodeManager.FindSmartHint?

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Ryan Joseph via fpc-pascal
> On Apr 24, 2020, at 4:54 PM, Ryan Joseph wrote: > > I'm not able to get this one working then. Is the buffer the current file? > This is what I'm doing: > > >URI := ParseURI(textDocument.uri); >Code := CodeToolBoss.FindFile(URI.Path + URI.Document); >X := position.character; >

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Ryan Joseph via fpc-pascal
> On Apr 24, 2020, at 5:28 PM, Joost van der Sluis wrote: > > I did not have a look at your code, but if you have serialization-issues, you > might consider looking at Cerialization. > (https://gitlab.freepascal.org/Joost/cerialization) > > It is what I use for my debugging-project. And it e

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Joost van der Sluis
Op 24-04-2020 om 11:25 schreef Arjan Adriaanse: Indeed with the current way JSON streaming is handled, optional values are not considered. This needs more work and the issue is tracked here https://github.com/arjanadriaanse/pascal-language-server/issues/7 [1]. I did not have a look at your cod

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Mattias Gaertner via fpc-pascal
On Fri, 24 Apr 2020 16:40:14 +0700 Ryan Joseph via fpc-pascal wrote: > > On Apr 24, 2020, at 4:35 PM, Mattias Gaertner via fpc-pascal > > wrote: > > > > codetools that scans Lazarus packages. > > > > In Short: You can omit LAZARUSDIR. > > > > Setting PP might be useful. > > > > You can add u

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Ryan Joseph via fpc-pascal
> On Apr 24, 2020, at 4:49 PM, Mattias Gaertner via fpc-pascal > wrote: > >> When I hover over a function in Lazarus I get a function definition >> and unit location. Is that coming from TCodeManager.FindSmartHint? > > Yes I'm not able to get this one working then. Is the buffer the current

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Michael Van Canneyt
On Fri, 24 Apr 2020, Ryan Joseph via fpc-pascal wrote: On Apr 24, 2020, at 4:25 PM, Arjan Adriaanse wrote: Indeed with the current way JSON streaming is handled, optional values are not considered. This needs more work and the issue is tracked here https://github.com/arjanadriaanse/pasca

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Mattias Gaertner via fpc-pascal
On Fri, 24 Apr 2020 16:39:09 +0700 Ryan Joseph via fpc-pascal wrote: > When I hover over a function in Lazarus I get a function definition > and unit location. Is that coming from TCodeManager.FindSmartHint? Yes Mattias ___ fpc-pascal maillist - fpc

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Ryan Joseph via fpc-pascal
> On Apr 24, 2020, at 4:35 PM, Mattias Gaertner via fpc-pascal > wrote: > > codetools that scans Lazarus packages. > > In Short: You can omit LAZARUSDIR. > > Setting PP might be useful. > > You can add unit and include paths: > https://wiki.freepascal.org/Codetools#Defining_search_paths_and

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Ryan Joseph via fpc-pascal
When I hover over a function in Lazarus I get a function definition and unit location. Is that coming from TCodeManager.FindSmartHint? Regards, Ryan Joseph ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Mattias Gaertner via fpc-pascal
On Fri, 24 Apr 2020 15:11:26 +0700 Ryan Joseph via fpc-pascal wrote: >[...] > > It does not require lazarus, but it does require the FPC source > > tree. > > Ok then. How do I setup code tools on the FPC source tree? See my mail about SimpleInit. Mattias _

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Mattias Gaertner via fpc-pascal
On Fri, 24 Apr 2020 10:59:21 +0200 Arjan Adriaanse wrote: > The options for initializing CodeToolsBoss are passed through > environment variables as described at > https://wiki.lazarus.freepascal.org/Codetools [1]. > > For example, mine are set up as follows through the Emacs client > settings.

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Ryan Joseph via fpc-pascal
> On Apr 24, 2020, at 4:25 PM, Arjan Adriaanse wrote: > > Indeed with the current way JSON streaming is handled, optional values > are not considered. This needs more work and the issue is tracked > here https://github.com/arjanadriaanse/pascal-language-server/issues/7 > [1]. We may need to r

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Michael Van Canneyt
On Fri, 24 Apr 2020, Ryan Joseph via fpc-pascal wrote: On Apr 24, 2020, at 2:54 PM, Michael Van Canneyt wrote: What do you want to omit exactly ? For example, I'm not a lazarus user but I'm getting strange errors that don't relate to my single file program. That's going to confuse user

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Arjan Adriaanse
Indeed with the current way JSON streaming is handled, optional values are not considered. This needs more work and the issue is tracked here https://github.com/arjanadriaanse/pascal-language-server/issues/7 [1]. Regards, Arjan [1] https://github.com/arjanadriaanse/pascal-language-server/issues

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Ryan Joseph via fpc-pascal
> On Apr 24, 2020, at 3:59 PM, Arjan Adriaanse wrote: > > FPCDIR="/usr/lib/fpc/3.2.0/source" > LAZARUSDIR="/usr/share/lazarus" I see now! I didn't know that but it's easy to document once we get that far. btw, I'm having a problem with the fact that published un-set properties are being set

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Arjan Adriaanse
The options for initializing CodeToolsBoss are passed through environment variables as described at https://wiki.lazarus.freepascal.org/Codetools [1]. For example, mine are set up as follows through the Emacs client settings. FPCDIR="/usr/lib/fpc/3.2.0/source" LAZARUSDIR="/usr/share/lazarus" How

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Ryan Joseph via fpc-pascal
> On Apr 24, 2020, at 3:32 PM, Mattias Gaertner via fpc-pascal > wrote: > > Are there any ppu files left after "make distclean"? I just trashed the entire thing and started over. It was easier that way, much easier. It's working now so I'm happy. :) I'm still getting that code tools error t

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Mattias Gaertner via fpc-pascal
On Thu, 23 Apr 2020 22:11:54 +0700 Ryan Joseph via fpc-pascal wrote: > > On Apr 23, 2020, at 10:07 PM, Mattias Gaertner via fpc-pascal > > wrote: > > > > Please post the last couple of lines, e.g. starting at the last > > ppcx64 call. > > > > /bin/cp -f Makefile.compiled > units/x86_64-darw

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Ryan Joseph via fpc-pascal
> On Apr 24, 2020, at 2:54 PM, Michael Van Canneyt > wrote: > > What do you want to omit exactly ? For example, I'm not a lazarus user but I'm getting strange errors that don't relate to my single file program. That's going to confuse users like it did me. I'd like to omit the need to confi

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Michael Van Canneyt
On Fri, 24 Apr 2020, Ryan Joseph via fpc-pascal wrote: On Apr 24, 2020, at 2:37 PM, Mattias Gaertner via fpc-pascal wrote: fpextres.ppu is installed by default on darwin. Maybe you didn't setup codetools for your fpc units. Because of the vast amount of fpc units, codetools needs to scan

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Ryan Joseph via fpc-pascal
> On Apr 24, 2020, at 2:37 PM, Mattias Gaertner via fpc-pascal > wrote: > > fpextres.ppu is installed by default on darwin. > Maybe you didn't setup codetools for your fpc units. Because of the > vast amount of fpc units, codetools needs to scan them once. There is a > simple init function, th

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Mattias Gaertner via fpc-pascal
On Fri, 24 Apr 2020 14:12:48 +0700 Ryan Joseph via fpc-pascal wrote: >[...] > In my test I'm getting an error at this block, "Parse error: unit not > found: fpextres". > > Does code tools need access to this unit? It's not part of the source > I've supplied it so I don't know why it's looking fo

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Michael Van Canneyt
On Fri, 24 Apr 2020, Ryan Joseph via fpc-pascal wrote: On Apr 24, 2020, at 1:47 PM, Ryan Joseph wrote: end else begin if CodeToolBoss.ErrorMessage<>'' then writeln(stderr, 'Parse error: ',CodeToolBoss.ErrorMessage) else writeln(stderr, 'Error: no context'); e

Re: [fpc-pascal] Pascal Language Server

2020-04-24 Thread Ryan Joseph via fpc-pascal
> On Apr 24, 2020, at 1:47 PM, Ryan Joseph wrote: > >end else begin > if CodeToolBoss.ErrorMessage<>'' then >writeln(stderr, 'Parse error: ',CodeToolBoss.ErrorMessage) > else >writeln(stderr, 'Error: no context'); >end; In my test I'm getting an error at this

Re: [fpc-pascal] Pascal Language Server

2020-04-23 Thread Ryan Joseph via fpc-pascal
> On Apr 24, 2020, at 12:46 PM, Michael Van Canneyt > wrote: > > I fixed TCustomJSONRPCDispatcher not to add a Null in case of V2. But V1 > needs it. > see https://www.jsonrpc.org/specification_v1 > > Committed in revision 45047. Nice, it was a bug. :) So the Sublime Text people explained

Re: [fpc-pascal] Pascal Language Server

2020-04-23 Thread Michael Van Canneyt
On Fri, 24 Apr 2020, Ryan Joseph via fpc-pascal wrote: On Apr 24, 2020, at 10:23 AM, Ryan Joseph wrote: Just tested on my language server and the problem is you provided a null error key, which is not in the protocol. I've never seen the fpjsonrpc unit before so I don't know where this

Re: [fpc-pascal] Pascal Language Server

2020-04-23 Thread Michael Van Canneyt
On Fri, 24 Apr 2020, Ryan Joseph via fpc-pascal wrote: OK, I just downloaded the laz sources and rebuilt from scratch (as usual) and it's building with the 3.3.1 now. I'm testing the server in Sublime Text and first thing I get is: LSP: invalid response payload {'id': 1, 'result': {'capabi

Re: [fpc-pascal] Pascal Language Server

2020-04-23 Thread Ryan Joseph via fpc-pascal
> On Apr 24, 2020, at 10:23 AM, Ryan Joseph wrote: > > Just tested on my language server and the problem is you provided a null > error key, which is not in the protocol. > > I've never seen the fpjsonrpc unit before so I don't know where this got > inserted but it needs to be removed. I th

Re: [fpc-pascal] Pascal Language Server

2020-04-23 Thread Ryan Joseph via fpc-pascal
> On Apr 24, 2020, at 9:52 AM, Ryan Joseph wrote: > > LSP: invalid response payload {'id': 1, 'result': {'capabilities': > {'completionProvider': {'triggerCharacters': None, 'allCommitCharacters': > None, 'resolveProvider': False}, 'textDocumentSync': {'openClose': True, > 'change': 1}}}, 'j

Re: [fpc-pascal] Pascal Language Server

2020-04-23 Thread Ryan Joseph via fpc-pascal
OK, I just downloaded the laz sources and rebuilt from scratch (as usual) and it's building with the 3.3.1 now. I'm testing the server in Sublime Text and first thing I get is: LSP: invalid response payload {'id': 1, 'result': {'capabilities': {'completionProvider': {'triggerCharacters': None,

Re: [fpc-pascal] Pascal Language Server

2020-04-23 Thread Christo Crause via fpc-pascal
On Thu, 23 Apr 2020, 21:43 Ryan Joseph via fpc-pascal, < fpc-pascal@lists.freepascal.org> wrote: > ok, did this and now getting: > > /Users/ryanjoseph/Developer/lazarus/components/lazdebuggergdbmi/gdbmidebugger.pp(63,16) > Fatal: (10022) Can't find unit PropEdits used by GDBMIDebugger > > svn up s

Re: [fpc-pascal] Pascal Language Server

2020-04-23 Thread Sven Barth via fpc-pascal
Am 23.04.2020 um 16:28 schrieb Ryan Joseph via fpc-pascal: On Apr 23, 2020, at 9:11 PM, Arjan Adriaanse wrote: lazbuild --compiler=/usr/lib/fpc/3.2.0/ppcx64 pasls.lpi is there a macOS installer for 3.2? I found a link to a FTP server but I don't see this exists. Maybe fix that bug in trunk

Re: [fpc-pascal] Pascal Language Server

2020-04-23 Thread Ryan Joseph via fpc-pascal
> On Apr 23, 2020, at 10:07 PM, Mattias Gaertner via fpc-pascal > wrote: > > Please post the last couple of lines, e.g. starting at the last > ppcx64 call. > /bin/cp -f Makefile.compiled units/x86_64-darwin/nogui/IDEIntf.compiled /Applications/Xcode.app/Contents/Developer/usr/bin/make -C co

  1   2   >