diff --git a/lib/puppet-languageserver-sidecar/puppet_environment_monkey_patches.rb b/lib/puppet-languageserver-sidecar/puppet_environment_monkey_patches.rb index d9e70eec..56acb2a2 100644 --- a/lib/puppet-languageserver-sidecar/puppet_environment_monkey_patches.rb +++ b/lib/puppet-languageserver-sidecar/puppet_environment_monkey_patches.rb @@ -6,7 +6,7 @@ class Directories # environment, create a new Puppet::Node::Environment object for the workspace alias_method :original_get, :get def get(name) - if name == PuppetLanguageServerSidecar::PuppetHelper::SIDECAR_PUPPET_ENVIRONMENT + if name.intern == PuppetLanguageServerSidecar::PuppetHelper::SIDECAR_PUPPET_ENVIRONMENT.intern env_symbol = name.intern setting_values = Puppet.settings.values(env_symbol, Puppet.settings.preferred_run_mode) env = Puppet::Node::Environment.create( @@ -26,7 +26,7 @@ def get(name) # from the workspace. alias_method :original_get_conf, :get_conf def get_conf(name) - if name == PuppetLanguageServerSidecar::PuppetHelper::SIDECAR_PUPPET_ENVIRONMENT.intern + if name.intern == PuppetLanguageServerSidecar::PuppetHelper::SIDECAR_PUPPET_ENVIRONMENT.intern conf = Puppet::Settings::EnvironmentConf.load_from(PuppetLanguageServerSidecar::Workspace.root_path, @global_module_path) # Unfortunately the environment.conf expects OS style delimiters which means # it fails if written for windows and read on Unix and vice versa. So we just diff --git a/lib/puppet_languageserver.rb b/lib/puppet_languageserver.rb index 907ab3af..2a1cf1fd 100644 --- a/lib/puppet_languageserver.rb +++ b/lib/puppet_languageserver.rb @@ -72,6 +72,7 @@ def self.require_gems(options) begin require 'lsp/lsp' require 'puppet' + require 'facter' rescue LoadError => e log_message(:error, "Error while loading a critical gem: #{e} #{e.backtrace}") return