# How to use a locally modified version of LanguageServer.jl?

**URL:** <https://discourse.julialang.org/t/how-to-use-a-locally-modified-version-of-languageserver-jl/123856>\
**Category:** Tooling\
**Tags:** vscode, emacs, eglot\
**Created:** [December 15, 2024, 10:56am UTC](https://discourse.julialang.org/t/how-to-use-a-locally-modified-version-of-languageserver-jl/123856 "2024-12-15T10:56:13Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![greatpet](https://avatars.discourse-cdn.com/v4/letter/g/e495f1/32.png) [@greatpet](https://discourse.julialang.org/u/greatpet)\
**Post date:** [December 15, 2024, 10:56am UTC](https://discourse.julialang.org/t/how-to-use-a-locally-modified-version-of-languageserver-jl/123856/1 "2024-12-15T10:56:14Z")

</div>

I’d like to play with LanguageServer.jl. How to use a locally modified version of this package inside either VSCode Julia extension or Emacs eglot-jl?

---

<div class="post-metadata">

**Author:** ![DatName](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/datname/32/418_2.png) [@DatName](https://discourse.julialang.org/u/DatName)\
**Post date:** [December 15, 2024, 1:48pm UTC](https://discourse.julialang.org/t/how-to-use-a-locally-modified-version-of-languageserver-jl/123856/2 "2024-12-15T13:48:51Z")

</div>

On linux, in your `.vscode` folder you have `extensions/julialang.language-julia-%version%`. There, in `scripts/packages` you have all packages that extensions uses, including LanguageServer.jl.

---

<div class="post-metadata">

**Author:** ![ffevotte](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ffevotte/32/6587_2.png) [@ffevotte](https://discourse.julialang.org/u/ffevotte)\
**Post date:** [December 16, 2024, 9:55am UTC](https://discourse.julialang.org/t/how-to-use-a-locally-modified-version-of-languageserver-jl/123856/3 "2024-12-16T09:55:54Z")

</div>

> [@greatpet](#):
>
> Emacs eglot-jl

For `eglot-jl` the exact location might depend how you installed it, but you can find it using

M-x`find-library`RET`eglot-jl`RET

For example, since I use `elpa`, for me it’s located at  
`~/.emacs.d/elpa/eglot-jl-20240911.1352`.

If you go to that directory, you’ll find a standard Julia environment with its `Project.toml`. You can use any standard `Pkg` command to use the `LanguageServer` version you want. In your case, this would probably be

```julia
pkg> dev /path/to/your/locally/modified/LanguageServer.jl

```

---

<div class="post-metadata">

**Author:** ![greatpet](https://avatars.discourse-cdn.com/v4/letter/g/e495f1/32.png) [@greatpet](https://discourse.julialang.org/u/greatpet)\
**Post date:** [December 16, 2024, 2:28pm UTC](https://discourse.julialang.org/t/how-to-use-a-locally-modified-version-of-languageserver-jl/123856/4 "2024-12-16T14:28:15Z")

</div>

Thanks, this works perfectly! In fact, I ran `dev` for one of the dependencies I modified, StaticLint.jl, and I didn’t have to explicitly do anything to LanguageServer.jl itself.
