]> Sergey Matveev's repositories - vim-lsp.git/commitdiff
More refactoring
authorYegappan Lakshmanan <yegappan@yahoo.com>
Thu, 31 Dec 2020 04:41:57 +0000 (20:41 -0800)
committerYegappan Lakshmanan <yegappan@yahoo.com>
Thu, 31 Dec 2020 04:41:57 +0000 (20:41 -0800)
autoload/handlers.vim
autoload/lsp.vim
autoload/lspserver.vim
autoload/util.vim

index 1276d94e16cc9af62b4a446cae1fa5dde98862f3..89bca568281941072fa51b1f98697470811e5950 100644 (file)
@@ -44,7 +44,7 @@ def s:processDefDeclReply(lspserver: dict<any>, req: dict<any>, reply: dict<any>
     # pop the tag stack
     var tagstack: dict<any> = gettagstack()
     if tagstack.length > 0
-      settagstack(winnr(), {'curidx': tagstack.length}, 't')
+      settagstack(winnr(), {curidx: tagstack.length}, 't')
     endif
     return
   endif
@@ -84,41 +84,41 @@ def s:processSignaturehelpReply(lspserver: dict<any>, req: dict<any>, reply: dic
     endif
   endif
   var popupID = popup_atcursor(text, {})
-  prop_type_add('signature', {'bufnr': popupID->winbufnr(), 'highlight': 'Title'})
+  prop_type_add('signature', {bufnr: popupID->winbufnr(), highlight: 'Title'})
   if hllen > 0
-    prop_add(1, startcol + 1, {'bufnr': popupID->winbufnr(), 'length': hllen, 'type': 'signature'})
+    prop_add(1, startcol + 1, {bufnr: popupID->winbufnr(), length: hllen, type: 'signature'})
   endif
 enddef
 
 # Map LSP complete item kind to a character
 def LspCompleteItemKindChar(kind: number): string
   var kindMap: list<string> = ['',
-                    't', # Text
-                    'm', # Method
-                    'f', # Function
-                    'C', # Constructor
-                    'F', # Field
-                    'v', # Variable
-                    'c', # Class
-                    'i', # Interface
-                    'M', # Module
-                    'p', # Property
-                    'u', # Unit
-                    'V', # Value
-                    'e', # Enum
-                    'k', # Keyword
-                    'S', # Snippet
-                    'C', # Color
-                    'f', # File
-                    'r', # Reference
-                    'F', # Folder
-                    'E', # EnumMember
-                    'd', # Contant
-                    's', # Struct
-                    'E', # Event
-                    'o', # Operator
-                    'T'  # TypeParameter
-                    ]
+               't', # Text
+               'm', # Method
+               'f', # Function
+               'C', # Constructor
+               'F', # Field
+               'v', # Variable
+               'c', # Class
+               'i', # Interface
+               'M', # Module
+               'p', # Property
+               'u', # Unit
+               'V', # Value
+               'e', # Enum
+               'k', # Keyword
+               'S', # Snippet
+               'C', # Color
+               'f', # File
+               'r', # Reference
+               'F', # Folder
+               'E', # EnumMember
+               'd', # Contant
+               's', # Struct
+               'E', # Event
+               'o', # Operator
+               'T'  # TypeParameter
+       ]
   if kind > 25
     return ''
   endif
@@ -173,12 +173,12 @@ def s:processHoverReply(lspserver: dict<any>, req: dict<any>, reply: dict<any>):
     if reply.result.contents->has_key('kind')
       # MarkupContent
       if reply.result.contents.kind == 'plaintext'
-        hoverText = reply.result.contents.value->split("\n")
+       hoverText = reply.result.contents.value->split("\n")
       elseif reply.result.contents.kind == 'markdown'
-        hoverText = reply.result.contents.value->split("\n")
+       hoverText = reply.result.contents.value->split("\n")
       else
-        ErrMsg('Error: Unsupported hover contents type (' .. reply.result.contents.kind .. ')')
-        return
+       ErrMsg('Error: Unsupported hover contents type (' .. reply.result.contents.kind .. ')')
+       return
       endif
     elseif reply.result.contents->has_key('value')
       # MarkedString
@@ -191,9 +191,9 @@ def s:processHoverReply(lspserver: dict<any>, req: dict<any>, reply: dict<any>):
     # interface MarkedString[]
     for e in reply.result.contents
       if type(e) == v:t_string
-        hoverText->extend(e->split("\n"))
+       hoverText->extend(e->split("\n"))
       else
-        hoverText->extend(e.value->split("\n"))
+       hoverText->extend(e.value->split("\n"))
       endif
     endfor
   elseif type(reply.result.contents) == v:t_string
@@ -205,7 +205,7 @@ def s:processHoverReply(lspserver: dict<any>, req: dict<any>, reply: dict<any>):
     ErrMsg('Error: Unsupported hover contents (' .. reply.result.contents .. ')')
     return
   endif
-  hoverText->popup_atcursor({'moved': 'word'})
+  hoverText->popup_atcursor({moved: 'word'})
 enddef
 
 # process the 'textDocument/references' reply from the LSP server
@@ -227,12 +227,12 @@ def s:processReferencesReply(lspserver: dict<any>, req: dict<any>, reply: dict<a
     endif
     var text: string = bnr->getbufline(loc.range.start.line + 1)[0]
                                                ->trim("\t ", 1)
-    qflist->add({'filename': fname,
-                    'lnum': loc.range.start.line + 1,
-                    'col': loc.range.start.character + 1,
-                    'text': text})
+    qflist->add({filename: fname,
+                       lnum: loc.range.start.line + 1,
+                       col: loc.range.start.character + 1,
+                       text: text})
   endfor
-  setqflist([], ' ', {'title': 'Language Server', 'items': qflist})
+  setqflist([], ' ', {title: 'Language Server', items: qflist})
   var save_winid = win_getid()
   copen
   win_gotoid(save_winid)
@@ -261,10 +261,10 @@ def s:processDocHighlightReply(lspserver: dict<any>, req: dict<any>, reply: dict
       propName = 'LspTextRef'
     endif
     prop_add(docHL.range.start.line + 1, docHL.range.start.character + 1,
-               {'end_lnum': docHL.range.end.line + 1,
-                'end_col': docHL.range.end.character + 1,
-                'bufnr': bnr,
-                'type': propName})
+               {end_lnum: docHL.range.end.line + 1,
+                 end_col: docHL.range.end.character + 1,
+                 bufnr: bnr,
+                 type: propName})
   endfor
 enddef
 
@@ -272,9 +272,9 @@ enddef
 def LspSymbolKindToName(symkind: number): string
   var symbolMap: list<string> = ['', 'File', 'Module', 'Namespace', 'Package',
        'Class', 'Method', 'Property', 'Field', 'Constructor', 'Enum',
-        'Interface', 'Function', 'Variable', 'Constant', 'String', 'Number',
-        'Boolean', 'Array', 'Object', 'Key', 'Null', 'EnumMember', 'Struct',
-        'Event', 'Operator', 'TypeParameter']
+       'Interface', 'Function', 'Variable', 'Constant', 'String', 'Number',
+       'Boolean', 'Array', 'Object', 'Key', 'Null', 'EnumMember', 'Struct',
+       'Event', 'Operator', 'TypeParameter']
   if symkind > 26
     return ''
   endif
@@ -338,9 +338,9 @@ def s:showSymbols(symTable: list<dict<any>>)
          name ..= ' [' .. symbol.containerName .. ']'
        endif
       endif
-      symbols[symbolType]->add({'name': name,
-                       'lnum': symbol.location.range.start.line + 1,
-                        'col': symbol.location.range.start.character + 1})
+      symbols[symbolType]->add({name: name,
+                       lnum: symbol.location.range.start.line + 1,
+                       col: symbol.location.range.start.character + 1})
     endif
   endfor
 
@@ -367,11 +367,11 @@ def s:showSymbols(symTable: list<dict<any>>)
     lnumMap->extend([{}, {}])
     for s in syms
       text->add('  ' .. s.name)
-      lnumMap->add({'lnum': s.lnum, 'col': s.col})
+      lnumMap->add({lnum: s.lnum, col: s.col})
     endfor
   endfor
   append(line('$'), text)
-  w:lsp_info = {'filename': fname, 'data': lnumMap}
+  w:lsp_info = {filename: fname, data: lnumMap}
   :nnoremap <silent> <buffer> q :quit<CR>
   :nnoremap <silent> <buffer> <CR> :call handlers#jumpToSymbol()<CR>
   :setlocal nomodifiable
@@ -515,7 +515,7 @@ def s:applyTextEdits(bnr: number, text_edits: list<dict<any>>): void
   endif
   bnr->setbufvar('&buflisted', v:true)
 
-  var start_line: number = 4294967295           # 2 ^ 32
+  var start_line: number = 4294967295          # 2 ^ 32
   var finish_line: number = -1
   var updated_edits: list<dict<any>> = []
   var start_row: number
@@ -533,9 +533,9 @@ def s:applyTextEdits(bnr: number, text_edits: list<dict<any>>): void
     start_line = [e.range.start.line, start_line]->min()
     finish_line = [e.range.end.line, finish_line]->max()
 
-    updated_edits->add({'A': [start_row, start_col],
-                       'B': [end_row, end_col],
-                       'lines': e.newText->split("\n", v:true)})
+    updated_edits->add({A: [start_row, start_col],
+                       B: [end_row, end_col],
+                       lines: e.newText->split("\n", v:true)})
   endfor
 
   # Reverse sort the edit operations by descending line and column numbers so
@@ -576,7 +576,7 @@ def s:applyTextEdits(bnr: number, text_edits: list<dict<any>>): void
   # lines.
   var dellastline: bool = v:false
   if start_line == 0 && bnr->getbufinfo()[0].linecount == 1 &&
-                                    bnr->getbufline(1)[0] == ''
+                                               bnr->getbufline(1)[0] == ''
     dellastline = v:true
   endif
 
@@ -823,7 +823,7 @@ def s:processApplyEditReq(lspserver: dict<any>, request: dict<any>)
   endif
   s:applyWorkspaceEdit(workspaceEditParams.edit)
   # TODO: Need to return the proper result of the edit operation
-  lspserver.sendResponse(request, {'applied': v:true}, v:null)
+  lspserver.sendResponse(request, {applied: v:true}, v:null)
 enddef
 
 # process a request message from the server
@@ -880,15 +880,15 @@ export def ProcessMessages(lspserver: dict<any>): void
       lspserver.requests->remove(string(msg.id))
 
       if msg->has_key('result')
-        lspserver.processReply(req, msg)
+       lspserver.processReply(req, msg)
       else
        # request failed
-        var emsg: string = msg.error.message
+       var emsg: string = msg.error.message
        emsg ..= ', code = ' .. msg.code
-        if msg.error->has_key('data')
-          emsg = emsg .. ', data = ' .. string(msg.error.data)
-        endif
-        ErrMsg("Error: request " .. req.method .. " failed (" .. emsg .. ")")
+       if msg.error->has_key('data')
+         emsg = emsg .. ', data = ' .. string(msg.error.data)
+       endif
+       ErrMsg("Error: request " .. req.method .. " failed (" .. emsg .. ")")
       endif
     elseif msg->has_key('id')
       # request message from the server
@@ -902,3 +902,4 @@ export def ProcessMessages(lspserver: dict<any>): void
   endwhile
 enddef
 
+# vim: shiftwidth=2 softtabstop=2
index e93007f8abab455b4cda26b8451ee4cd2aea89d1..95e41df2d1846d0a719e7b15a102ed36e371d61b 100644 (file)
@@ -292,11 +292,11 @@ def lsp#addServer(serverList: list<dict<any>>)
       s:lspAddServer(server.filetype, lspserver)
     elseif type(server.filetype) == v:t_list
       for ftype in server.filetype
-        s:lspAddServer(ftype, lspserver)
+       s:lspAddServer(ftype, lspserver)
       endfor
     else
-      ErrMsg('Error: Unsupported file type information "' .. string(server.filetype)
-                                  .. '" in LSP server registration')
+      ErrMsg('Error: Unsupported file type information "' ..
+               string(server.filetype) .. '" in LSP server registration')
       continue
     endif
   endfor
@@ -371,10 +371,10 @@ def lsp#showDiagnostics(): void
   for [lnum, diag] in items(lspserver.diagsMap[fname])
     text = diag.message->substitute("\n\\+", "\n", 'g')
     qflist->add({'filename': fname,
-                    'lnum': diag.range.start.line + 1,
-                    'col': diag.range.start.character + 1,
-                    'text': text,
-                    'type': LspDiagSevToType(diag.severity)})
+                   'lnum': diag.range.start.line + 1,
+                   'col': diag.range.start.character + 1,
+                   'text': text,
+                   'type': LspDiagSevToType(diag.severity)})
   endfor
   setqflist([], ' ', {'title': 'Language Server Diagnostics', 'items': qflist})
   :copen
@@ -413,7 +413,7 @@ def lsp#completeFunc(findstart: number, base: string): any
   else
     var count: number = 0
     while !complete_check() && lspserver.completePending
-            && count < 1000
+                               && count < 1000
       sleep 2m
       count += 1
     endwhile
index 8340879c970e074fd4bc589fc34e67505b1e05d5..12cb8b44095a455a11fc456a8a089e8417787341 100644 (file)
@@ -36,12 +36,12 @@ def s:startServer(lspserver: dict<any>): number
   cmd->extend(lspserver.args)
 
   var opts = {in_mode: 'raw',
-              out_mode: 'raw',
-              err_mode: 'raw',
-              noblock: 1,
-              out_cb: function('s:output_cb', [lspserver]),
-              err_cb: function('s:error_cb', [lspserver]),
-              exit_cb: function('s:exit_cb', [lspserver])}
+               out_mode: 'raw',
+               err_mode: 'raw',
+               noblock: 1,
+               out_cb: function('s:output_cb', [lspserver]),
+               err_cb: function('s:error_cb', [lspserver]),
+               exit_cb: function('s:exit_cb', [lspserver])}
 
   ClearTraceLogs()
   lspserver.data = ''
@@ -348,7 +348,7 @@ enddef
 def s:gotoDefinition(lspserver: dict<any>): void
   # Check whether LSP server supports jumping to a definition
   if !lspserver.caps->has_key('definitionProvider')
-              || !lspserver.caps.definitionProvider
+                               || !lspserver.caps.definitionProvider
     ErrMsg("Error: LSP server does not support jumping to a definition")
     return
   endif
@@ -364,7 +364,7 @@ enddef
 def s:gotoDeclaration(lspserver: dict<any>): void
   # Check whether LSP server supports jumping to a declaration
   if !lspserver.caps->has_key('declarationProvider')
-              || !lspserver.caps.declarationProvider
+                       || !lspserver.caps.declarationProvider
     ErrMsg("Error: LSP server does not support jumping to a declaration")
     return
   endif
@@ -382,7 +382,7 @@ enddef
 def s:gotoTypeDef(lspserver: dict<any>): void
   # Check whether LSP server supports jumping to a type definition
   if !lspserver.caps->has_key('typeDefinitionProvider')
-              || !lspserver.caps.typeDefinitionProvider
+                       || !lspserver.caps.typeDefinitionProvider
     ErrMsg("Error: LSP server does not support jumping to a type definition")
     return
   endif
@@ -400,7 +400,7 @@ enddef
 def s:gotoImplementation(lspserver: dict<any>): void
   # Check whether LSP server supports jumping to a implementation
   if !lspserver.caps->has_key('implementationProvider')
-              || !lspserver.caps.implementationProvider
+                       || !lspserver.caps.implementationProvider
     ErrMsg("Error: LSP server does not support jumping to an implementation")
     return
   endif
@@ -449,7 +449,7 @@ enddef
 def s:hover(lspserver: dict<any>): void
   # Check whether LSP server supports getting hover information
   if !lspserver.caps->has_key('hoverProvider')
-              || !lspserver.caps.hoverProvider
+                       || !lspserver.caps.hoverProvider
     return
   endif
 
@@ -463,7 +463,7 @@ enddef
 def s:showReferences(lspserver: dict<any>): void
   # Check whether LSP server supports getting reference information
   if !lspserver.caps->has_key('referencesProvider')
-              || !lspserver.caps.referencesProvider
+                       || !lspserver.caps.referencesProvider
     ErrMsg("Error: LSP server does not support showing references")
     return
   endif
@@ -480,7 +480,7 @@ enddef
 def s:docHighlight(lspserver: dict<any>): void
   # Check whether LSP server supports getting highlight information
   if !lspserver.caps->has_key('documentHighlightProvider')
-              || !lspserver.caps.documentHighlightProvider
+                       || !lspserver.caps.documentHighlightProvider
     ErrMsg("Error: LSP server does not support document highlight")
     return
   endif
@@ -495,7 +495,7 @@ enddef
 def s:showDocSymbols(lspserver: dict<any>, fname: string): void
   # Check whether LSP server supports getting document symbol information
   if !lspserver.caps->has_key('documentSymbolProvider')
-              || !lspserver.caps.documentSymbolProvider
+                       || !lspserver.caps.documentSymbolProvider
     ErrMsg("Error: LSP server does not support getting list of symbols")
     return
   endif
@@ -511,7 +511,7 @@ def s:textDocFormat(lspserver: dict<any>, fname: string, rangeFormat: bool,
                                start_lnum: number, end_lnum: number)
   # Check whether LSP server supports formatting documents
   if !lspserver.caps->has_key('documentFormattingProvider')
-              || !lspserver.caps.documentFormattingProvider
+                       || !lspserver.caps.documentFormattingProvider
     ErrMsg("Error: LSP server does not support formatting documents")
     return
   endif
@@ -554,7 +554,7 @@ enddef
 def s:renameSymbol(lspserver: dict<any>, newName: string)
   # Check whether LSP server supports rename operation
   if !lspserver.caps->has_key('renameProvider')
-              || !lspserver.caps.renameProvider
+                       || !lspserver.caps.renameProvider
     ErrMsg("Error: LSP server does not support rename operation")
     return
   endif
@@ -570,7 +570,7 @@ enddef
 def s:codeAction(lspserver: dict<any>, fname_arg: string)
   # Check whether LSP server supports code action operation
   if !lspserver.caps->has_key('codeActionProvider')
-              || !lspserver.caps.codeActionProvider
+                       || !lspserver.caps.codeActionProvider
     ErrMsg("Error: LSP server does not support code action operation")
     return
   endif
@@ -598,7 +598,7 @@ enddef
 def s:workspaceSymbols(lspserver: dict<any>, sym: string)
   # Check whether the LSP server supports listing workspace symbols
   if !lspserver.caps->has_key('workspaceSymbolProvider')
-              || !lspserver.caps.workspaceSymbolProvider
+                               || !lspserver.caps.workspaceSymbolProvider
     ErrMsg("Error: LSP server does not support listing workspace symbols")
     return
   endif
index 7a75046b311a08be0f648b8ee38b7f20a9bb276c..fd63aab9170c03ef659da24f596323d93c2a9d88 100644 (file)
@@ -49,7 +49,7 @@ enddef
 export def LspUriToFile(uri: string): string
   # Replace all the %xx numbers (e.g. %20 for space) in the URI to character
   var uri_decoded: string = substitute(uri, '%\(\x\x\)',
-                             '\=nr2char(str2nr(submatch(1), 16))', 'g')
+                               '\=nr2char(str2nr(submatch(1), 16))', 'g')
 
   # File URIs on MS-Windows start with file:///[a-zA-Z]:'
   if uri_decoded =~? '^file:///\a:'
@@ -78,7 +78,7 @@ export def LspFileToUri(fname: string): string
   endif
 
   uri = uri->substitute('\([^A-Za-z0-9-._~:/]\)',
-                     '\=printf("%%%02x", char2nr(submatch(1)))', 'g')
+                       '\=printf("%%%02x", char2nr(submatch(1)))', 'g')
 
   if on_windows
     uri = 'file:///' .. uri
@@ -89,3 +89,4 @@ export def LspFileToUri(fname: string): string
   return uri
 enddef
 
+# vim: shiftwidth=2 softtabstop=2