All Projects → tigersoldier → JavaComp

tigersoldier / JavaComp

Licence: other
A Java completion server

Programming Languages

java
68154 projects - #9 most used programming language
python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to JavaComp

Lsp
Haskell library for the Microsoft Language Server Protocol
Stars: ✭ 212 (+748%)
Mutual labels:  language-server-protocol
Company Lsp
Company completion backend for lsp-mode
Stars: ✭ 238 (+852%)
Mutual labels:  language-server-protocol
lsp-types
Types for communicating with a language server
Stars: ✭ 206 (+724%)
Mutual labels:  language-server-protocol
Haskell Ide Engine
The engine for haskell ide-integration. Not an IDE
Stars: ✭ 2,433 (+9632%)
Mutual labels:  language-server-protocol
Csharp Language Server Protocol
Language Server Protocol in C#
Stars: ✭ 230 (+820%)
Mutual labels:  language-server-protocol
curry-language-server
IDE support for the functional logic language Curry
Stars: ✭ 18 (-28%)
Mutual labels:  language-server-protocol
Sql Language Server
SQL Language Server
Stars: ✭ 210 (+740%)
Mutual labels:  language-server-protocol
lite-xl-lsp
LSP Plugin for Lite XL editor
Stars: ✭ 112 (+348%)
Mutual labels:  language-server-protocol
Vim Lsp Cxx Highlight
Vim plugin for C/C++/ObjC semantic highlighting using cquery, ccls, or clangd
Stars: ✭ 231 (+824%)
Mutual labels:  language-server-protocol
agda-language-server
Language Server for Agda
Stars: ✭ 81 (+224%)
Mutual labels:  language-server-protocol
Languageserver.jl
An implementation of the Microsoft Language Server Protocol for the julia language.
Stars: ✭ 223 (+792%)
Mutual labels:  language-server-protocol
Theia
Eclipse Theia is a cloud & desktop IDE framework implemented in TypeScript.
Stars: ✭ 15,920 (+63580%)
Mutual labels:  language-server-protocol
lsp-test
A functional test framework for LSP servers
Stars: ✭ 35 (+40%)
Mutual labels:  language-server-protocol
Lua Lsp
A Lua language server
Stars: ✭ 219 (+776%)
Mutual labels:  language-server-protocol
LspCpp
A Language Server Protocol implementation in C++
Stars: ✭ 40 (+60%)
Mutual labels:  language-server-protocol
Intelephense
Intellisense for PHP
Stars: ✭ 212 (+748%)
Mutual labels:  language-server-protocol
ide-css
Atom-IDE for CSS, LESS and SCSS language
Stars: ✭ 18 (-28%)
Mutual labels:  language-server-protocol
sml-language-server
an SML language server that uses SML/NJ's "visible compiler" feature
Stars: ✭ 23 (-8%)
Mutual labels:  language-server-protocol
groovy-language-server
A language server for Groovy
Stars: ✭ 132 (+428%)
Mutual labels:  language-server-protocol
LanguageServer.NET
A .NET Standard server-side implementation of Language Server Protocol 2.0/3.x infrastructure library.
Stars: ✭ 78 (+212%)
Mutual labels:  language-server-protocol

Build Status

JavaComp - a Java Language Server

JavaComp implements Language Server Protocol for Java language. It provides language editing features such as code completion, showing method signatures and jumping to definitions to editors that support the protocol.

Features

Code completion

Code completion screencast

Go to definition

Go to definition screencast

Symbol documentation

Symbol documentation screencast

How to install

See the installation guide for your editor:

Customization

You can put a javacomp.json file under the project root directory to customize the behavior of JavaComp.

Example javacomp.json file content:

{
  "logPath": "/tmp/javacomp.log",
  "logLevel": "fine",
  "typeIndexFiles": ["typeindeces/guava.json"],
  "ignorePaths": ["*.bak", ".*"]
}

The schema of the JSON is defined by the InitializationOptions class in InitializeParams.java. The initializationOptions field of the initialize Request accepts the same format as javacomp.json. Editor plugins can set initializationOptions to customize JavaComp. If both javacomp.json and initializationOptions exist, initializationOptions overrides javacomp.json.

Below are supported options. The source of truth of the supported options is the

logPath

(String) Path of the log file. If not set, logs are not written to any file.

logLevel

(String) The minimum log level. Logs with the level and above will be logged.

Possible values are: severe, warning, info, fine, finer, finest.

ignorePaths

(String) Pattern of paths that JavaComp should ignore.

The patterns are valid Java path glob patterns defined by the documentation of java.nio.file.FileSystem#getPathMatcher without glob: prefix.

When determing whether a path of a file or directory should be ignored, the path is converted into 2 froms: the filename and pseudo absolute path. A pseudo absolute path is the path without the prefix of project root path. For example, if a path is /root/path/foo/bar and the project root path is /root/path, its pseudo absolute path is /foo/bar. If a path is not under project root, its pseudo absolute path is itself.

Both filename of the path and its pseudo absolute path are checked by all ignore path patterns. If either form matches any of the patterns, the path is ignored.

typeIndexFiles

(Array of strings) A list of file paths that contains additional type indeces generated by the Indexer tool.

The path can be either relative to the project root path, or an absolute path.

Documentation

See our Wiki page.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].