Skip to content

Commit

Permalink
Fix crash on trying to start in folder-less workspace (#34)
Browse files Browse the repository at this point in the history
Resolves #29
  • Loading branch information
rchl authored Nov 27, 2020
1 parent d4c4fcf commit ceb8aec
Showing 1 changed file with 20 additions and 8 deletions.
28 changes: 20 additions & 8 deletions plugin.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
import os
import sublime
from LSP.plugin import ClientConfig
from LSP.plugin import uri_to_filename
from LSP.plugin import WorkspaceFolder
from LSP.plugin.core.protocol import Point
from LSP.plugin.core.url import uri_to_filename
from LSP.plugin.core.types import List, Optional
from LSP.plugin.core.views import point_to_offset
from lsp_utils import NpmClientHandler
from lsp_utils import request_handler


def plugin_loaded():
Expand All @@ -25,13 +29,21 @@ class LspTypescriptPlugin(NpmClientHandler):
def install_in_cache(cls) -> bool:
return False

def on_ready(self, api) -> None:
api.on_request('_typescript.rename', self._on_typescript_rename)

def _on_typescript_rename(self, textDocumentPositionParams, respond):
view = sublime.active_window().open_file(
uri_to_filename(textDocumentPositionParams['textDocument']['uri'])
)
@classmethod
def is_allowed_to_start(
cls,
window: sublime.Window,
initiating_view: Optional[sublime.View] = None,
workspace_folders: Optional[List[WorkspaceFolder]] = None,
configuration: Optional[ClientConfig] = None
) -> Optional[str]:
if not workspace_folders:
return 'This server only works when the window workspace includes some folders!'

@request_handler('_typescript.rename')
def on_typescript_rename(self, textDocumentPositionParams, respond):
filename = uri_to_filename(textDocumentPositionParams['textDocument']['uri'])
view = sublime.active_window().open_file(filename)

if view:
lsp_point = Point.from_lsp(textDocumentPositionParams['position'])
Expand Down

0 comments on commit ceb8aec

Please sign in to comment.