Add a bazel rule for generating erlang_ls.config
If you are using bazel, you can switch to this with: 1. `bazelisk build //tools:erlang_ls.config` 2. `cp bazel-bin/tools/erlang_ls.config erlang_ls.config`
This commit is contained in:
		
							parent
							
								
									83126f1285
								
							
						
					
					
						commit
						67ad541515
					
				|  | @ -0,0 +1,5 @@ | |||
| load(":erlang_ls.bzl", "erlang_ls_config") | ||||
| 
 | ||||
| erlang_ls_config( | ||||
|     name = "erlang_ls.config", | ||||
| ) | ||||
|  | @ -0,0 +1,35 @@ | |||
| load("@bazel-erlang//:erlang_home.bzl", "ErlangHomeProvider") | ||||
| 
 | ||||
| def _impl(ctx): | ||||
|     out = ctx.actions.declare_file(ctx.label.name) | ||||
| 
 | ||||
|     erlang_home = ctx.attr._erlang_home[ErlangHomeProvider].path | ||||
| 
 | ||||
|     ctx.actions.write( | ||||
|         output = out, | ||||
|         content = """otp_path: {erlang_home} | ||||
| apps_dirs: | ||||
|   - deps/* | ||||
| deps_dirs: | ||||
|   - bazel-bin/external/* | ||||
| include_dirs: | ||||
|   - deps | ||||
|   - deps/*/include | ||||
|   - bazel-bin/external | ||||
|   - bazel-bin/external/*/include | ||||
| plt_path: bazel-bin/deps/rabbit/.base_plt.plt | ||||
| """.format( | ||||
|             erlang_home = erlang_home, | ||||
|         ), | ||||
|     ) | ||||
| 
 | ||||
|     return [ | ||||
|         DefaultInfo(files = depset([out])), | ||||
|     ] | ||||
| 
 | ||||
| erlang_ls_config = rule( | ||||
|     implementation = _impl, | ||||
|     attrs = { | ||||
|         "_erlang_home": attr.label(default = "@bazel-erlang//:erlang_home"), | ||||
|     }, | ||||
| ) | ||||
		Loading…
	
		Reference in New Issue