-
Notifications
You must be signed in to change notification settings - Fork 109
Project Ideas ScanCode Toolkit: License Language Server Protocol server for IDE integration
This project would implement a Language Server Protocol server for license and copyright that would be using ScanCode toolkit and provide live license and copyright feedback directly in IDEs. It would also provide a plugin for integration in at least one IDE such Atom, VSCode or Eclipse.
ScanCode can detect licenses, copyright, packages and a few more things:
If you think of these as being some kind of a "language" and scancode being the "compiler/validator" for this language, then we would like to see thing such as:
- ability to run a scan on the current file or project
- highlighting of the text where licenses, copyright emails, urls, package data are detected
- some kind of a red underlining (e.g. a problem) for things not detected as a license exactly
- code completion when drafting a "copyright" and an "SPDX-License-Identifier: ..."
and possibly a few extra goodies to design!
If you consider scancode as a license and copyright linter, then this could be similar to running jslint or pylint (except this is not programming language specific)
This could also suggest replacing a notice by an SPDX-License-Identifier as in https://github.com/nexB/scancode-toolkit/commits/833-espedexify and https://github.com/nexB/scancode-toolkit/issues/833
This is a large size project idea.
- What exactly are we trying to achieve through the LSP for ScanCode?
We want to provide life feedback on licenses, copyright and dependencies right in the IDE, using a scancode (toolkit or scancode.io) backend.
- What features will we be implementing (completion, definition, documentHighlight, etc.) ?
The exact set is TBD, but being able to provide highlighting would likely be the first thing. Then completion on SPDX-License-Identifier could come next. The ability to suggest a new better notice would be great too (using scancode-analyzer as a backend)