| 12345678910111213141516171819202122232425262728293031323334353637 | 
							- # Load LanguageServer from the project next to this file
 
- ## Save old load path
 
- old_load_path = copy(LOAD_PATH)
 
- push!(empty!(LOAD_PATH), @__DIR__)
 
- ## Load packages
 
- using LanguageServer, SymbolServer
 
- ## Restore old load path
 
- append!(empty!(LOAD_PATH), old_load_path)
 
- # Figure out the active project
 
- ## This configuration is a good default
 
- project_path = let
 
-     dirname(something(
 
-         ## 1. Finds an explicitly set project (JULIA_PROJECT)
 
-         Base.load_path_expand((
 
-             p = get(ENV, "JULIA_PROJECT", nothing);
 
-             p === nothing ? nothing : isempty(p) ? nothing : p
 
-         )),
 
-         ## 2. Look for a Project.toml file in the current working directory,
 
-         ##    or parent directories, with $HOME as an upper boundary
 
-         Base.current_project(),
 
-         ## 3. First entry in the load path
 
-         get(Base.load_path(), 1, nothing),
 
-         ## 4. Fallback to default global environment,
 
-         ##    this is more or less unreachable
 
-         Base.load_path_expand("@v#.#"),
 
-     ))
 
- end
 
- # Depot path for the server to index (empty uses default).
 
- depot_path = get(ENV, "JULIA_DEPOT_PATH", "")
 
- # Start the server
 
- @info "Running julia language server" VERSION project_path depot_path
 
- server = LanguageServer.LanguageServerInstance(stdin, stdout, project_path, depot_path)
 
- server.runlinter = true
 
- run(server)
 
 
  |