Beispiel #1
0
    def config(self) -> ClientConfig:
        # Calling setup() also here as this might run before `plugin_loaded`.
        # Will be a no-op if already ran.
        # See https://github.com/sublimelsp/LSP/issues/899
        server.setup()

        configuration = self.migrate_and_read_configuration()

        default_configuration = {
            'enabled': True,
            'command': ['node', server.binary_path, '--stdio'],
        }

        default_configuration.update(configuration)

        view = sublime.active_window().active_view()
        if view:
            view_settings = view.settings()
            default_configuration \
                .setdefault('initializationOptions', {}) \
                .setdefault('config', {}) \
                .setdefault('vetur', {}) \
                .setdefault('format', {}) \
                .setdefault('options', {}) \
                .update({
                    'tabSize': view_settings.get('tab_size', 4),
                    'useTabs': not view_settings.get('translate_tabs_to_spaces', False)
                })

        return read_client_config(self.name, default_configuration)
Beispiel #2
0
 def test_can_update_config(self):
     settings = {
         "command": ["pyls"],
         "scopes": ["source.python"],
         "syntaxes": ["Packages/Python/Python.sublime-syntax"],
         "languageId": "python"
     }
     config = read_client_config("pyls", settings)
     config = update_client_config(config, {"enabled": True})
     self.assertEqual(config.enabled, True)
Beispiel #3
0
 def test_can_parse_old_client_settings(self):
     settings = {
         "command": ["pyls"],
         "scopes": ["source.python"],
         "syntaxes": ["Packages/Python/Python.sublime-syntax"],
         "languageId": "python"
     }
     config = read_client_config("pyls", settings)
     self.assertEqual(len(config.languages), 1)
     self.assertEqual(config.languages[0].scopes, ["source.python"])
Beispiel #4
0
    def config(self):
        config = {
            "enabled": True,
            "command": [get_server_exec()],
        }

        filename = '{}.sublime-settings'.format(__package__)
        settings = sublime.load_settings(filename)
        for key, default in DEAFULT_SETTINGS.items():
            config[key] = settings.get(key, default)

        return read_client_config(self.name, config)
Beispiel #5
0
    def config(self) -> ClientConfig:
        assert self.__server

        configuration = {
            'enabled':
            True,
            'command':
            ['node', self.__server.binary_path] + self.get_binary_arguments(),
        }

        configuration.update(self._read_configuration())
        self.on_client_configuration_ready(configuration)
        return read_client_config(self.name, configuration)
    def config(self) -> ClientConfig:
        settings = {}
        loaded_settings = sublime.load_settings(self.settings_filename)

        if loaded_settings:
            for key, default in self.DEFAULT_SETTINGS.items():
                settings[key] = loaded_settings.get(key, default)

        self.configuration.update(settings)
        executable = self.__server.config(self.configuration.get('command')[0])
        self.configuration.update({'command': [executable]})

        debug(__package__, 'read config:', self.configuration)
        return read_client_config(self.name, self.configuration)
Beispiel #7
0
 def config(self):
     # load default and user configuration separately to allow merging of settings dicts
     client_config = sublime.decode_value(
         sublime.load_resource("Packages/{}/{}".format(
             __package__, SETTINGS_FILE)))
     client_config["enabled"] = True
     if os.path.exists(
             os.path.join(sublime.packages_path(), "User", SETTINGS_FILE)):
         user_config = sublime.decode_value(
             sublime.load_resource(
                 "Packages/User/{}".format(SETTINGS_FILE)))
         # merge settings dict
         settings = client_config.get("settings", {})
         settings.update(user_config.get("settings", {}))
         client_config.update(user_config)
         client_config["settings"] = settings
         # update starting command if server should be started with sysimage,
         # because sysimage_path in user settings might have been changed manually
         if user_config.get("sysimage_path"):
             env_path = get_active_environment()[1]
             command = update_starting_command(env_path)
             client_config["command"] = command
     return read_client_config(self.name, client_config)