java: fix some indexing errors in perform_change
This commit is contained in:
parent
cd23269643
commit
49d673b0b8
9
java
9
java
@ -23,7 +23,7 @@ class Java(LspServer):
|
|||||||
self.path = arguments[0]
|
self.path = arguments[0]
|
||||||
super().__init__([
|
super().__init__([
|
||||||
"java",
|
"java",
|
||||||
f"-javaagent:{locate_lombok}",
|
f"-javaagent:{locate_lombok()}",
|
||||||
"-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1044",
|
"-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1044",
|
||||||
"-Declipse.application=org.eclipse.jdt.ls.core.id1",
|
"-Declipse.application=org.eclipse.jdt.ls.core.id1",
|
||||||
"-Dosgi.bundles.defaultStartLevel=4",
|
"-Dosgi.bundles.defaultStartLevel=4",
|
||||||
@ -40,7 +40,7 @@ class Java(LspServer):
|
|||||||
|
|
||||||
@command("java.apply.workspaceEdit")
|
@command("java.apply.workspaceEdit")
|
||||||
def workspaceEdit (self, arguments):
|
def workspaceEdit (self, arguments):
|
||||||
print(f"we {arguments}")
|
print(f"we {arguments}", file=sys.stderr)
|
||||||
for argument in arguments:
|
for argument in arguments:
|
||||||
for file_name, changes in argument['changes'].items():
|
for file_name, changes in argument['changes'].items():
|
||||||
file_name = file_name[len(FILE_URI):]
|
file_name = file_name[len(FILE_URI):]
|
||||||
@ -59,11 +59,12 @@ class Java(LspServer):
|
|||||||
def get_character_offset (file_contents, line, character):
|
def get_character_offset (file_contents, line, character):
|
||||||
line_pos = 0
|
line_pos = 0
|
||||||
while line > 0:
|
while line > 0:
|
||||||
line_pos = file_contents.index("\n", line_pos + 1)
|
line_pos = file_contents.index("\n", line_pos) + 1
|
||||||
line = line - 1
|
line = line - 1
|
||||||
return line_pos + character
|
return line_pos + character
|
||||||
|
|
||||||
def perform_change (file_text, change):
|
def perform_change (file_text, change):
|
||||||
change_start = get_character_offset(file_text, change['range']['start']['character'], change['range']['start']['character'])
|
change_start = get_character_offset(file_text, change['range']['start']['line'], change['range']['start']['character'])
|
||||||
change_end = get_character_offset(file_text, change['range']['end']['line'], change['range']['end']['character'])
|
change_end = get_character_offset(file_text, change['range']['end']['line'], change['range']['end']['character'])
|
||||||
|
print(f"change {change_start} {change['newText']} {change_end}", file=sys.stderr)
|
||||||
return file_text[:change_start] + change['newText'] + file_text[change_end:]
|
return file_text[:change_start] + change['newText'] + file_text[change_end:]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user