File tree Expand file tree Collapse file tree 1 file changed +21
-0
lines changed
apps/language_server/lib/language_server Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -723,6 +723,7 @@ defmodule ElixirLS.LanguageServer.Server do
723
723
|> set_project_dir ( project_dir )
724
724
|> set_dialyzer_enabled ( enable_dialyzer )
725
725
726
+ state = create_gitignore ( state )
726
727
trigger_build ( % { state | settings: settings } )
727
728
end
728
729
@@ -789,4 +790,24 @@ defmodule ElixirLS.LanguageServer.Server do
789
790
defp set_project_dir ( state , _ ) do
790
791
state
791
792
end
793
+
794
+ defp create_gitignore ( % { project_dir: project_dir } = state ) do
795
+ with gitignore_path <- Path . join ( [ project_dir , ".elixir_ls" , ".gitignore" ] ) ,
796
+ false <- File . exists? ( gitignore_path ) ,
797
+ :ok <- gitignore_path |> Path . dirname ( ) |> File . mkdir_p ( ) ,
798
+ :ok <- File . write ( gitignore_path , "*" , [ :write ] ) do
799
+ state
800
+ else
801
+ true ->
802
+ state
803
+
804
+ { :error , err } ->
805
+ JsonRpc . log_message (
806
+ :warning ,
807
+ "Cannot create .elixir_ls/.gitignore, cause: #{ Atom . to_string ( err ) } "
808
+ )
809
+
810
+ state
811
+ end
812
+ end
792
813
end
You can’t perform that action at this time.
0 commit comments