From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 127006 invoked by alias); 14 Jan 2018 20:35:35 -0000 Mailing-List: contact kawa-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: kawa-owner@sourceware.org Received: (qmail 126995 invoked by uid 89); 14 Jan 2018 20:35:34 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=Cargo, study, research X-HELO: aibo.runbox.com Received: from aibo.runbox.com (HELO aibo.runbox.com) (91.220.196.211) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 14 Jan 2018 20:35:33 +0000 Received: from [10.9.9.211] (helo=mailfront11.runbox.com) by mailtransmit03.runbox with esmtp (Exim 4.86_2) (envelope-from ) id 1eap06-0008OG-A7; Sun, 14 Jan 2018 21:35:30 +0100 Received: from 70-36-239-2.dsl.dynamic.fusionbroadband.com ([70.36.239.2] helo=localhost.localdomain) by mailfront11.runbox.com with esmtpsa (uid:757155 ) (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.82) id 1eaozr-0000eB-CF; Sun, 14 Jan 2018 21:35:15 +0100 Subject: Re: language server protocol for Kawa To: Helmut Eller , kawa@sourceware.org References: <78c36015-ce0d-a0cf-c81e-37f0ce4d8e9a@bothner.com> From: Per Bothner Message-ID: Date: Sun, 14 Jan 2018 20:35:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2018-q1/txt/msg00010.txt.bz2 On 01/14/2018 12:07 PM, Helmut Eller wrote: > - It seems to me that an LSP server would like to have something like a > "project" file that lists the interesting source files, libraries etc. > I suppose plain Makefiles will not work so well for that; maybe Ant > files would work better. Or maybe Kawa should have something like > Rust's Cargo. My guess is that this will be an important design > decision. Definitely things to ponder and research, which I have barely started on. I would like to have good defaults, so at least basic syntax checking (and syntax coloring) works even without a project file. That is one of the things I like about Emacs - you can edit a file without having create a project containing the file. I'd also like the server to be able to use import, module-name, require, and define-library forms to find definitions. However, in general one will want some kind of project file - for example for compiler options or adding jar files to a classpath. This is something I will need to study other servers for. Scanning a Makefile for project properties doesn't seem like it would be difficult - at least string-valued properties. The Makefiles would have to follow certain conventions, just like automake source files already do. -- --Per Bothner per@bothner.com http://per.bothner.com/