Code Monkey home page Code Monkey logo

lsp-python-ms's Introduction

title description root_file
LSP Mode - Language Server Protocol support for Emacs
Language Server Protocol support with multiples languages support for Emacs
README.md

CI

Language Server Protocol Support for Emacs

LSP mode


homepageinstallationlanguagessettingstutorialstroubleshootingscreenshotsFAQ


Why?

  • ❤️ Community Driven
  • 💎 Fully featured - supports all features in Language Server Protocol v3.14.
  • 🚀 Fast - see performance section.
  • 🌟 Flexible - choose between full-blown IDE with flashy UI or minimal distraction free.
  • ⚙️ Easy to configure - works out of the box and automatically upgrades if additional packages are present.

Overview

Client for Language Server Protocol (v3.14). lsp-mode aims to provide IDE-like experience by providing optional integration with the most popular Emacs packages like company, flycheck and projectile.

  • Non-blocking asynchronous calls
  • Real-time Diagnostics/linting via flycheck (recommended) or flymake when Emacs > 26 (requires flymake>=1.0.5)
  • Code completion - company-capf / completion-at-point (note that company-lsp is no longer supported).
  • Hovers - using lsp-ui
  • Code actions - via lsp-execute-code-action, modeline (recommended) or lsp-ui sideline.
  • Code outline - using builtin imenu or helm-imenu
  • Code navigation - using builtin xref, lsp-treemacs tree views or lsp-ui peek functions.
  • Code lens
  • Symbol highlights
  • Formatting
  • Project errors on modeline
  • Debugger - dap-mode
  • Breadcrumb on headerline
  • Helm integration - helm-lsp
  • Ivy integration - lsp-ivy
  • Consult integration - consult-lsp
  • Treemacs integration - lsp-treemacs
  • Semantic tokens as defined by LSP 3.16 (compatible language servers include recent development builds of clangd and rust-analyzer)
  • which-key integration for better discovery
  • iedit
  • dired
  • ido

Presentations/demos

See also

  • lsp-docker - provide docker image with preconfigured language servers with corresponding emacs configuration.
  • company-box - company frontend with icons.
  • dap-mode - Debugger integration for lsp-mode.
  • eglot - An alternative minimal LSP implementation.
  • which-key - Emacs package that displays available keybindings in popup
  • projectile - Project Interaction Library for Emacs
  • emacs-tree-sitter - Faster, fine-grained code highlighting via tree-sitter.
  • gccemacs - modified Emacs capable of compiling and running Emacs Lisp as native code.

Contributions

Contributions are very much welcome!

NOTE Documentation for clients is generated from doc comments in the clients themselves (see lsp-doc.el) and some metadata (see lsp-clients.json) so please submit corrections accordingly.

Support the project

The emacs-lsp organization has more than 20,000 lines of code, to keep all of this working, we need to implement new features and help the community on a lot of issues.

You can help us keep going and improving it by supporting the project

Members

Here it is a list of the current lsp-mode members and what they are primary working on/responsible for.

kurnevsky
kurnevsky

Scala | Rust
seagle0128
seagle0128

Go | Python MS
sebastiansturm
sebastiansturm

lsp-mode core | C++
vibhavp
vibhavp

lsp-mode core
yyoncho
yyoncho

lsp-mode core | Java
ericdallo
ericdallo

Dart/Flutter | Clojure
danielmartin
danielmartin

C++ | Swift
kiennq
kiennq

completions | pwsh
nbfalcon
nbfalcon

lsp-mode core | iedit
psibi
psibi

Terraform | Nix
razzmatazz
razzmatazz

C# | F#
jcs090218
jcs090218

lsp-mode core

lsp-python-ms's People

Contributors

andrew-christianson avatar astenman avatar conao3 avatar contrun avatar cpbotha avatar emoses avatar ericdallo avatar innerout avatar jcs090218 avatar kiennq avatar leungbk avatar linw1995 avatar liushihao456 avatar matthewzmd avatar max-sixty avatar maxking avatar muffinmad avatar offbyone avatar rietmann-nv avatar seagle0128 avatar seanfarley avatar seblemaguer avatar smallzhan avatar snarisi avatar spudlyo avatar wtianyi avatar yyoncho avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lsp-python-ms's Issues

Per-workspace python executable?

It would be nice if the lsp-python-ms-python-executable-cmd setting could be scoped to single server instances (workspaces) somehow. If you edit multiple projects in the same instance of Emacs, and some of them are Python2 while others are Python3 (or using different venvs), then there should be a way to assign the correct python version for each.

Scoping the setting to the workspace level makes the most sense to me, since buffers can also be part of multiple workspaces (?) so a buffer-local variable is not a great fit. Also many buffers can be part of a single workspace, so they must share the same python version (which also makes this a bad fit for a buffer local variable).

What to do about melpa?

It seems that the ms-python package beat this one to the punch for being listed on melpa.

What should we do? Merge the two? Just list both? 🤔

File mode specification error: (error Cannot find Microsoft Python Language Server executable! It’s expected to be Microsoft.Python.LanguageServer)

After I upgraded the package with the new installation function (Setup MS PYLS automatically), I have the following error.

Downloading Microsoft Python Language Server...
Contacting host: pvsc.blob.core.windows.net:443
Wrote /tmp/mspylsQCQTIi.zip
(Shell command succeeded with no output)
Downloaded Microsoft Python Language Server!
File mode specification error: (error Cannot find Microsoft Python Language Server executable! It’s expected to be Microsoft.Python.LanguageServer)

I can see the zip file has been downloaded and unzipped into .emacs.d/mspyls directory. However, the file Microsoft.Python.LanguageServer is not executable. This code (chmod lsp-python-ms-executable #o755)) did not work in my case.

Even I manually changed the file mode to 755, it still always try to install ms pls again.

I am using Ubuntu 18.04, Emacs 26.2 and pipenv.

@yyoncho @seagle0128 Any ideas?
Any help is highly appreciated. Thanks.

how to trigger

I installed .net and the microsoft dependencies according to the instructions. then I included the small elisp snippet into my init file and Emacs starts without any errors.

However, i do not get any completion or hints whatsoever. I used ubuntu.18.04-x64.

M-x lsp does not yield any results, so I figure there is something off here...

Can anyone help? how do I trigger the lsp?

edit: so I set ensure from nil to t and then after reloading Emacs states

Error (use-package): Failed to install lsp-python-ms: Package ‘lsp-python-ms-’
is unavailable

what to do?

Use-package installation instructions not working

I've added the use-package config example from the README but get the following error on startup:

Error (use-package): lsp-python-ms/:catch: Symbol’s value as variable is void: lsp-server-install-dir

mspyls cannot analyze symlinked modules

I start to work on a very big project. And mspyls couldn't cache the project. The caching animation in my modeline keeps going forever.

The lsp-log looks fine.

Click to expand! Command "/home/ztlevi/.emacs.d/.local/etc/mspyls/Microsoft.Python.LanguageServer" is present on the path. Command "pyls" is not present on the path. Found the following clients for /home/ztlevi/av/detection/python/private/tools/tl_state_tracker_evaluation/groundtruth_provider.py: (server-id mspyls, priority 1) The following clients were selected based on priority: (server-id mspyls, priority 1) Analysis cache path: /home/ztlevi/.cache/Microsoft/Python Language Server GetCurrentSearchPaths /home/ztlevi/python/bin/python Interpreter search paths: /home/ztlevi/python/lib/python3.7 /home/ztlevi/python/lib/python3.7/lib-dynload /home/ztlevi/.local/lib/python3.7/site-packages /home/ztlevi/python/lib/python3.7/site-packages User search paths: Command "/home/ztlevi/.emacs.d/.local/etc/mspyls/Microsoft.Python.LanguageServer" is present on the path. Command "pyls" is not present on the path. Found the following clients for /home/ztlevi/Developer/mypy/setup.py: (server-id mspyls, priority 1) The following clients were selected based on priority: (server-id mspyls, priority 1) Analysis cache path: /home/ztlevi/.cache/Microsoft/Python Language Server GetCurrentSearchPaths /home/ztlevi/python/bin/python Interpreter search paths: /home/ztlevi/python/lib/python3.7 /home/ztlevi/python/lib/python3.7/lib-dynload /home/ztlevi/.local/lib/python3.7/site-packages /home/ztlevi/python/lib/python3.7/site-packages User search paths: Microsoft Python Language Server version 0.3.66.0 Initializing for /home/ztlevi/python/bin/python Command "/home/ztlevi/.emacs.d/.local/etc/mspyls/Microsoft.Python.LanguageServer" is present on the path. Command "pyls" is not present on the path. Found the following clients for /home/ztlevi/Developer/mypy/mypy/binder.py: (server-id mspyls, priority 1) The following clients were selected based on priority: (server-id mspyls, priority 1) Command "/home/ztlevi/.emacs.d/.local/etc/mspyls/Microsoft.Python.LanguageServer" is present on the path. Command "pyls" is not present on the path. Found the following clients for /home/ztlevi/Developer/mypy/mypy/nodes.py: (server-id mspyls, priority 1) The following clients were selected based on priority: (server-id mspyls, priority 1)

Every time I try to trigger lsp-ui-peek-find-definitions, it gives me error message lsp--send-request-async: No workspace could handle textDocument/definition.

But things works fine on smaller project, for example, https://github.com/python/mypy. I tried lsp-ui-peek-find-definitions in mypy project and everything works fine. It only breaks when I was in the large project.

Is there any way that we could add some extra parameter to ignore caching some directory? This might be the answer.

I did a fresh install today so everything should be updated. And my emacs version is 26.3.

Warning (lsp-mode): Unknown method: python/reportProgress

Hello,

First of all, a big thank you for creating this package.

Recently, I decided to give a try to your package and when opening a Python file, my *Warnings* buffer is filled with this kind of Warnings:
2019-03-07_09 49 45

I don't know if this is an issue that concerns lsp-python-ms or lsp-mode in general. However, since I only found this issue withlsp-python-ms, I post this issue here.

If it helps, here is the configuration I use:

(use-package lsp-mode
  :hook ((c-mode c++-mode python-mode) . lsp)
  :custom
  (lsp-prefer-flymake nil)
  (lsp-session-file (expand-file-name (format "%s/emacs/lsp-session-v1" xdg-data))))

(use-package lsp-ui)
(use-package company-lsp)

(use-package lsp-python-ms
  :demand
  :load-path "~/.emacs.d/elisp/lsp-python-ms"
  :custom
  (lsp-python-ms-dir (expand-file-name "~/.emacs.d/elisp/python-language-server/output/bin/Release/"))
  (lsp-python-ms-executable "~/.emacs.d/elisp/python-language-server/output/bin/Release/linux-x64/publish/Microsoft.Python.LanguageServer"))

For the installation of python-language-server, I did exactly as README.org recommends. Except that for the Runtime ID Catalog (-r flag), I used linux-64 since I'm on Arch Linux.

uname -a
Linux ThinkPad 5.0.0-arch1-1-ARCH #1 SMP PREEMPT Mon Mar 4 14:11:43 UTC 2019 x86_64 GNU/Linux

Since when loading a python file, I do have a message from lsp-mode warning me that it has found the mspyls LSP client and that it works, I don't know where these warnings can come from.

LSP :: Connected to [mspyls:2148].

NOTE: ignoring these warnings is simply impossible, from the moment I open the Python file, the *Warnings* buffer floods with these warnings.

LSP sends response to the wrong process when we have nested projects

My project has a submodule python project. The first time I open a python file in the submodule project, msplys works. But if I open another python file in other folder inside the submodule. It cannot resolve any mspyls function.

It seems like responses have been sent to the wrong mspyls process. In my case, I trigger some event in submodule's python buffer, and it returns response to root project's mspyls process. You can tell from the log I attached.

mspyls: Lsp log to submodule [Trace - 05:14:24 PM] Sending request 'textDocument/definition - (5)'. Params: { "textDocument": { "uri": "file:///home/ztlevi/XXX/AAA.py" }, "position": { "line": 11, "character": 60 } }

[Trace - 05:14:24 PM] Received notification 'telemetry/event'.
Params: {
"Measurements": {
"elapsedMs": 1.8551000000000002
},
"Properties": {
"plsVersion": "0.4.24.0",
"method": "textDocument/definition"
},
"EventName": "python_language_server/rpc.request"
}

[Trace - 05:14:24 PM] Received response 'textDocument/definition - (5)' in 11ms.
Result: [
{
"range": {
"end": {
"character": 14,
"line": 21
},
"start": {
"character": 4,
"line": 21
}
},
"uri": "file:///home/ztlevi/XXX/AAA.py"
}
]

[Trace - 05:14:27 PM] Sending request 'textDocument/signatureHelp - (6)'.
Params: {
"textDocument": {
"uri": "file:///home/ztlevi/XXX/BBB.py"
},
"position": {
"line": 11,
"character": 60
}
}

[Trace - 05:14:27 PM] Received notification 'telemetry/event'.
Params: {
"Measurements": {
"elapsedMs": 14.3316
},
"Properties": {
"plsVersion": "0.4.24.0",
"method": "textDocument/signatureHelp"
},
"EventName": "python_language_server/rpc.request"
}

[Trace - 05:14:27 PM] Received response 'textDocument/signatureHelp - (6)' in 51ms.
Result: null

mspyls: Lsp log to root project

[Trace - 05:44:48 PM] Sending request 'textDocument/definition - (31)'.
Params: {
"textDocument": {
"uri": "file:///home/ztlevi/YYY/CCC.py"
},
"position": {
"line": 11,
"character": 61
}
}

some tests with other language server

  • Tested submodule project with pyls, it worked out without any issue.
  • Tested submodule project with anaconda-mode, it works as well.
  • Tested with vscode with mspyls enable, works.

I'm not fully understand my error and I fail to reproduce the error from a scratch project. But this is all I got and I need some help!

Maybe custom python executable variable rather `(executable-find "python")`

Thanks for this fantastic plugin catches up ms python lsp.

But I have some python3 issue because it's hard coded
here and we are not
able to utilize the python3. And flycheck keeps popping message showing requires python 3.x.

Moreover, not sure if the current solution is able to use virtual env's since we have to manually pick
python executable somehow in VScode.

What do you think?

Does this support snippets?

I see that lsp-mode supports snippets, but only if the language server does as well. Does the microsoft vs code python language server support snippets?

Unable to find Microsoft.Python.LanguageServer

ls output/bin/Release/publish/Microsoft.Python.LanguageServer.*

output/bin/Release/publish/Microsoft.Python.LanguageServer.deps.json
output/bin/Release/publish/Microsoft.Python.LanguageServer.dll
output/bin/Release/publish/Microsoft.Python.LanguageServer.pdb
output/bin/Release/publish/Microsoft.Python.LanguageServer.runtimeconfig.json

Added PR with changes that makes lsp-python-ms work with the new lsp.el

Added preliminary changes in PR #2 and #3 that makes this package work with the new "lsp.el".

In order to make it more robust on windows I published my local server to a exe-file, using the command

dotnet publish -c Release -r win10-x64

I added a variable lsp-python-ms-executable that points to the exe-file. Is this variable is non-nil, the contents of the variable will be used as language server, otherwise the old functionality is used.

Extra paths.

In the vscode implementation with the LS, they take into account a variable named "python.autoComplete.extraPaths" that seem to indicate the server to search for those included paths when performing the analysis in case you have extra libraries you want to check for auto completion.

Is there any way to pass that sort of value to the lsp using the emacs client?

not all available completion candidates are shown

I don't see all completion candidates when I use numpy. For comparison here's what I see in the bufffer
image

As you can see the np.exp function is nowhere shown in the completions, and for comparison heres what I get on python REPL
image

Tons of unrelated completion candidates shown when a candidate is fulfilled

This issue only arises with mspyls in emacs. I've made sure by running pyls in emacs, as well as mspyls in VScode and none of the issues happened.

To reproduce the problem in a python buffer with mspyls + lsp-mode enabled, supposed we're trying to have autocompletion for print(). Start off by typing p followed by r and i, n etc. and we'll see the candidates narrow down and become fewer.

Specifically, at prin we'll see that only 5 candidates are present, namely, print, ImportWarning, StopIteration..... Of course, this is due to the fuzzy match result.

The strange thing now happens as soon as I hit t to complete print. Now with either mspyls in VSCode or pyls in emacs, only a single candidate print will remain in the tooltip. However, with mspyls in emacs, the tooltip is suddenly filled with hundreds (maybe more) of unrelated candidates such as if, else, bin, bool, break, AttributeError, compile, continue, copyright etc. As if it was a completion for a wildcard character.

P.s. I'm on macOS with Emacs 27.0.50

Server fails to start: Server mspyls:21400 status:starting existed with status signal

Hello, I'm having some issues starting the LSP server. When I open a python file, immediately I receive the messages:

LSP :: Connected to [mspyls:29931 status:starting].
LSP :: mspyls has exited (abort trap: 6)
Server mspyls:29931 status:starting exited with status signal. Do you want to restart it? (y or n) y

If I choose yes, the same error is shown again.

I've spent some time trying to debug this (looking for logs and variable values) but I'm not sure how to debug further. Any help would be appreciated.

I'm on macOS Mojave 10.14.5 and using Emacs 26.2 with Spacemacs.

I've enabled logging via lsp-log-io. Here's one of the traces:

[Trace - 01:58:13 PM] Sending request 'initialize - (1)'.
Params: {
  "processId": 21245,
  "rootPath": "/Users/michael/Code/model-data-system/",
  "rootUri": "file:///Users/michael/Code/model-data-system/",
  "capabilities": {
    "workspace": {
      "workspaceEdit": {
        "documentChanges": true,
        "resourceOperations": [
          "create",
          "rename",
          "delete"
        ]
      },
      "applyEdit": true,
      "symbol": {
        "symbolKind": {
          "valueSet": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26
          ]
        }
      },
      "executeCommand": {
        "dynamicRegistration": false
      },
      "didChangeWatchedFiles": {
        "dynamicRegistration": true
      },
      "workspaceFolders": true,
      "configuration": true
    },
    "textDocument": {
      "declaration": {
        "linkSupport": true
      },
      "definition": {
        "linkSupport": true
      },
      "implementation": {
        "linkSupport": true
      },
      "typeDefinition": {
        "linkSupport": true
      },
      "synchronization": {
        "willSave": true,
        "didSave": true,
        "willSaveWaitUntil": true
      },
      "documentSymbol": {
        "symbolKind": {
          "valueSet": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26
          ]
        },
        "hierarchicalDocumentSymbolSupport": true
      },
      "formatting": {
        "dynamicRegistration": true
      },
      "codeAction": {
        "dynamicRegistration": true,
        "codeActionLiteralSupport": {
          "codeActionKind": {
            "valueSet": [
              "",
              "quickfix",
              "refactor",
              "refactor.extract",
              "refactor.inline",
              "refactor.rewrite",
              "source",
              "source.organizeImports"
            ]
          }
        }
      },
      "completion": {
        "completionItem": {
          "snippetSupport": true,
          "documentationFormat": [
            "markdown"
          ]
        },
        "contextSupport": true
      },
      "signatureHelp": {
        "signatureInformation": {
          "parameterInformation": {
            "labelOffsetSupport": true
          }
        }
      },
      "documentLink": {
        "dynamicRegistration": true
      },
      "hover": {
        "contentFormat": [
          "markdown",
          "plaintext"
        ]
      },
      "foldingRange": {
        "dynamicRegistration": true,
        "rangeLimit": null,
        "lineFoldingOnly": null
      }
    }
  },
  "initializationOptions": {
    "interpreter": {
      "properties": {
        "InterpreterPath": "/usr/bin/python",
        "Version": "2.7"
      }
    },
    "displayOptions": {
      "preferredFormat": "markdown",
      "trimDocumentationLines": false,
      "maxDocumentationLineLength": 0,
      "trimDocumentationText": false,
      "maxDocumentationTextLength": 0
    },
    "searchPaths": [],
    "analysisUpdates": true,
    "asyncStartup": true,
    "typeStubSearchPaths": [
      "/Users/michael/.emacs.d/mspyls/Typeshed"
    ]
  }
}

Failed to update server

When running lsp-python-ms-update-server, I get this error:

Debugger entered--Lisp error: (wrong-number-of-arguments (2 . 2) 1)
  #f(compiled-function (data bar) #<bytecode 0x1f5eee9>)((:peer (:certificate (:version 3 :serial-number "16:00:05:05:b0:c9:3e:2a:1c:da:23:cb:6c:00:00:00:05:05:b0" :issuer "C=US,ST=Washington,L=Redmond,O=Microsoft Corporation,OU=Microsoft IT,CN=Microsoft IT TLS CA 4" :valid-from "2019-05-14" :valid-to "2021-05-14" :subject "CN=*.blob.core.windows.net" :public-key-algorithm "RSA" :certificate-security-level "Medium" :signature-algorithm "RSA-SHA256" :public-key-id "sha1:94:58:3e:cf:f6:45:1f:b4:46:2e:73:0b:b9:ae:e4:8d:56:c2:a5:07" :certificate-id "sha1:75:4b:ca:06:05:46:33:93:c6:32:07:02:c4:a0:63:9b:a5:81:82:c0") :key-exchange "ECDHE-RSA" :protocol "TLS1.2" :cipher "AES-256-GCM" :mac "AEAD")))
  apply(#f(compiled-function (data bar) #<bytecode 0x1f5eee9>) (:peer (:certificate (:version 3 :serial-number "16:00:05:05:b0:c9:3e:2a:1c:da:23:cb:6c:00:00:00:05:05:b0" :issuer "C=US,ST=Washington,L=Redmond,O=Microsoft Corporation,OU=Microsoft IT,CN=Microsoft IT TLS CA 4" :valid-from "2019-05-14" :valid-to "2021-05-14" :subject "CN=*.blob.core.windows.net" :public-key-algorithm "RSA" :certificate-security-level "Medium" :signature-algorithm "RSA-SHA256" :public-key-id "sha1:94:58:3e:cf:f6:45:1f:b4:46:2e:73:0b:b9:ae:e4:8d:56:c2:a5:07" :certificate-id "sha1:75:4b:ca:06:05:46:33:93:c6:32:07:02:c4:a0:63:9b:a5:81:82:c0") :key-exchange "ECDHE-RSA" :protocol "TLS1.2" :cipher "AES-256-GCM" :mac "AEAD")))
  url-http-activate-callback()
  url-http-content-length-after-change-function(33763739 33763935 196)
  url-http-generic-filter(#<process pvsc.blob.core.windows.net> "`\220O\222\021\036[\230\001\0\0\274\002\0\0Q\0\0\0\0\0\0\0\0\0\0\0\0\0\271q\001\002package/services/metadata/core-properties/5b3785c8668c4f019338291f30cd557f.psmdcpPK\001\002\024\0\024\0\0\0\0\0\035`\220O \032\253\343\213$\0\0\213$\0\0\016\0\0\0\0\0\0\0\0\0\0\0\0\0\300s\001\002.signature.p7sPK\005\006\0\0\0\0\306\004\306\0047\230\001\0w\230\001\002\0\0")

I'm using the latest lsp-python-ms-20200106.611.

problem downloading and installing using use-package

Hi, I followed the minimal example in the readme in order to install this package using use-package and initially when visiting the file python it stared to download mspyls but then I got the following error

Debugger entered--Lisp error: (error "Cannot find Microsoft Python Language Server executable! It’s expected to be /Users/jm/.emacs.d/mspyls/Microsoft.Python.LanguageServer")
  signal(error ("Cannot find Microsoft Python Language Server executable! It’s expected to be /Users/jm/.emacs.d/mspyls/Microsoft.Python.LanguageServer"))
  error("Cannot find Microsoft Python Language Server executable! It's expected to be /Users/jm/.emacs.d/mspyls/Microsoft.Python.LanguageServer")
  lsp-python-ms--command-string()
  lsp-resolve-final-function(lsp-python-ms--command-string)
  #f(compiled-function () #<bytecode 0x429088c9>)()
  lsp--matching-clients\?(#s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x429088b1>) :test\? #f(compiled-function () #<bytecode 0x429088c9>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 5/65 0x429088d5> :request-handlers #<hash-table equal 0/65 0x429089fd> :response-handlers #<hash-table eql 0/65 0x42af1c41> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x42908a1d> :action-handlers #<hash-table equal 0/65 0x42908a3d> :major-modes (python-mode) :activation-fn nil :priority 1 :server-id mspyls :multi-root nil :initialization-options lsp-python-ms--extra-init-params :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x42908829>) :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil))
  -filter(lsp--matching-clients\? (#s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x42886a51>) :test\? #f(compiled-function () #<bytecode 0x428871b9>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x428871c5> :request-handlers #<hash-table equal 0/65 0x410322a9> :response-handlers #<hash-table eql 0/65 0x4250faf5> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x4132cf19> :action-handlers #<hash-table equal 0/65 0x40c52b39> :major-modes (python-mode cython-mode) :activation-fn nil :priority -1 :server-id pyls :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn #f(compiled-function (workspace) #<bytecode 0x42886a05>) :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x42886a41>) :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x41e9ac61>) :test\? #f(compiled-function () #<bytecode 0x405c6211>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 1/65 0x405c621d> :request-handlers #<hash-table equal 0/65 0x428dfa89> :response-handlers #<hash-table eql 0/65 0x428dfe89> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x42448809> :action-handlers #<hash-table equal 1/65 0x4283ba09> :major-modes (rust-mode rustic-mode) :activation-fn nil :priority -1 :server-id rls :multi-root nil :initialization-options ((omitInitBuild . t) (cmdRun . t)) :custom-capabilities nil :library-folders-fn #f(compiled-function (workspace) #<bytecode 0x42754219>) :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x42754231>) :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40636a6b>) :test\? #f(compiled-function () #<bytecode 0x4063623f>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x4063624b> :request-handlers #<hash-table equal 0/65 0x41272789> :response-handlers #<hash-table eql 0/65 0x404d6a89> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x41110909> :action-handlers #<hash-table equal 0/65 0x42279909> :major-modes (ruby-mode enh-ruby-mode) :activation-fn nil :priority -1 :server-id ruby-ls :multi-root t :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x4063824f>) :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40a74167>) :test\? #f(compiled-function () #<bytecode 0x40a7395b>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x4282d531> :request-handlers #<hash-table equal 0/65 0x42a42d09> :response-handlers #<hash-table eql 0/65 0x424dc889> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x42b17909> :action-handlers #<hash-table equal 0/65 0x42b1fd09> :major-modes (html-mode sgml-mode mhtml-mode web-mode) :activation-fn nil :priority -4 :server-id html-ls :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (w) #<bytecode 0x40a7394f>) :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x41ee6851>) :test\? #f(compiled-function () #<bytecode 0x41ee6869>)) :ignore-regexps nil :ignore-messages ("readFile .*? requested by Vue but content not available") :notification-handlers #<hash-table equal 0/65 0x41ea2c11> :request-handlers #<hash-table equal 0/65 0x42716d09> :response-handlers #<hash-table eql 0/65 0x42717109> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x429a5955> :action-handlers #<hash-table equal 0/65 0x40c1d189> :major-modes nil :activation-fn #f(compiled-function (filename mode) #<bytecode 0x410e3a25>) :priority -1 :server-id vls :multi-root t :initialization-options #f(compiled-function () #<bytecode 0x410e3a59>) :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x410e3a65>) :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40e2e0b7>) :test\? #f(compiled-function () #<bytecode 0x40e2e0cb>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 2/65 0x40e2e0d7> :request-handlers #<hash-table equal 0/65 0x429a6d4d> :response-handlers #<hash-table eql 0/65 0x413c344d> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x41e00509> :action-handlers #<hash-table equal 0/65 0x411c63ad> :major-modes (php-mode) :activation-fn nil :priority -1 :server-id iph :multi-root t :initialization-options #f(compiled-function () #<bytecode 0x40e53843>) :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x41e6ec61>) :test\? #f(compiled-function () #<bytecode 0x41e6a855>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40e2b4d7> :request-handlers #<hash-table equal 0/65 0x42b24ec1> :response-handlers #<hash-table eql 0/65 0x42270775> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x42270795> :action-handlers #<hash-table equal 1/65 0x40e2b4b7> :major-modes (css-mode less-mode less-css-mode sass-mode scss-mode) :activation-fn nil :priority -1 :server-id css-ls :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x41e7546d>) :test\? #f(compiled-function () #<bytecode 0x42378f3d>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x41e6fc35> :request-handlers #<hash-table equal 0/65 0x41e6fc55> :response-handlers #<hash-table eql 0/65 0x42283ea5> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x42283ec5> :action-handlers #<hash-table equal 0/65 0x428a28a5> :major-modes nil :activation-fn #f(compiled-function (file-name mode) #<bytecode 0x42378f69>) :priority 0 :server-id xmlls :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x41e75441>) :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x41e76471>) :test\? #f(compiled-function () #<bytecode 0x412a4215>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x412a4221> :request-handlers #<hash-table equal 0/65 0x41e7c435> :response-handlers #<hash-table eql 0/65 0x41e7c455> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x41e7e835> :action-handlers #<hash-table equal 0/65 0x41e7e855> :major-modes (go-mode) :activation-fn nil :priority 0 :server-id gopls :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn lsp-clients-go--library-default-directories :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x42aabea5>) :test\? #f(compiled-function () #<bytecode 0x42b644d9>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x4286ec45> :request-handlers #<hash-table equal 0/65 0x420207b5> :response-handlers #<hash-table eql 0/65 0x420207d5> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x420223b5> :action-handlers #<hash-table equal 0/65 0x420223d5> :major-modes (go-mode) :activation-fn nil :priority -1 :server-id go-bingo :multi-root nil :initialization-options lsp-clients-go--make-init-options :custom-capabilities nil :library-folders-fn lsp-clients-go--library-default-directories :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x42022fed>) :test\? #f(compiled-function () #<bytecode 0x420213b5>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x420213c1> :request-handlers #<hash-table equal 0/65 0x42025bb5> :response-handlers #<hash-table eql 0/65 0x42025bd5> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x42027bb5> :action-handlers #<hash-table equal 0/65 0x42027bd5> :major-modes (go-mode) :activation-fn nil :priority -2 :server-id go-ls :multi-root nil :initialization-options lsp-clients-go--make-init-options :custom-capabilities nil :library-folders-fn lsp-clients-go--library-default-directories :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x410946bd>) :test\? #f(compiled-function () #<bytecode 0x41e69851>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x4202abb5> :request-handlers #<hash-table equal 0/65 0x4202abd5> :response-handlers #<hash-table eql 0/65 0x4202c3b5> :prefix-function nil :uri-handlers #<hash-table equal 1/65 0x41e6985d> :action-handlers #<hash-table equal 0/65 0x4202c3d5> :major-modes (clojure-mode clojurec-mode clojurescript-mode) :activation-fn nil :priority 0 :server-id clojure-lsp :multi-root nil :initialization-options (:dependency-scheme "jar") :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x4260ce0d>) :test\? #f(compiled-function () #<bytecode 0x4260ce21>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40d8b819> :request-handlers #<hash-table equal 0/65 0x40d8b839> :response-handlers #<hash-table eql 0/65 0x40d8b859> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40cde2b5> :action-handlers #<hash-table equal 0/65 0x40cde2d5> :major-modes (dart-mode) :activation-fn nil :priority -2 :server-id dart_language_server :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x420313e1>) :test\? #f(compiled-function () #<bytecode 0x41e8805d>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x4202f7b5> :request-handlers #<hash-table equal 0/65 0x4202f7d5> :response-handlers #<hash-table eql 0/65 0x41e89835> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x41e89855> :action-handlers #<hash-table equal 0/65 0x41e8b035> :major-modes (dart-mode) :activation-fn nil :priority -1 :server-id dart_analysis_server :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x41e8c061>) :test\? #f(compiled-function () #<bytecode 0x405be63d>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x405be649> :request-handlers #<hash-table equal 0/65 0x41e97835> :response-handlers #<hash-table eql 0/65 0x41e97855> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x41e99435> :action-handlers #<hash-table equal 0/65 0x41e99455> :major-modes (elm-mode) :activation-fn nil :priority -1 :server-id elm-ls :multi-root nil :initialization-options lsp-clients-elm--make-init-options :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x425933c5>) :test\? #f(compiled-function () #<bytecode 0x425933dd>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 2/65 0x410ea811> :request-handlers #<hash-table equal 0/65 0x41e9bc35> :response-handlers #<hash-table eql 0/65 0x41e9bc55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x41e9d435> :action-handlers #<hash-table equal 0/65 0x41e9d455> :major-modes (scala-mode) :activation-fn nil :priority -1 :server-id metals :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x425933b9>) :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40459841>) :test\? #f(compiled-function () #<bytecode 0x40e55013>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 4/65 0x40e5501f> :request-handlers #<hash-table equal 0/65 0x40e5503f> :response-handlers #<hash-table eql 0/65 0x41ea0035> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x41ea0055> :action-handlers #<hash-table equal 0/65 0x41ea1c35> :major-modes (fsharp-mode) :activation-fn nil :priority 0 :server-id fsac :multi-root nil :initialization-options lsp-fsharp--make-init-options :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x4245cd45>) :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x42b0e9f1>) :test\? #f(compiled-function () #<bytecode 0x41ea8469>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x41ea0c55> :request-handlers #<hash-table equal 0/65 0x41ea8c35> :response-handlers #<hash-table eql 0/65 0x41ea8c55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x41ea9c35> :action-handlers #<hash-table equal 0/65 0x41ea9c55> :major-modes (erlang-mode) :activation-fn nil :priority -1 :server-id erlang-ls :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x41eab859>) :test\? #f(compiled-function () #<bytecode 0x41eab871>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 4/65 0x41eab059> :request-handlers #<hash-table equal 0/65 0x41eac035> :response-handlers #<hash-table eql 0/65 0x410216dd> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x4122b1c1> :action-handlers #<hash-table equal 0/65 0x4101ff01> :major-modes (haxe-mode) :activation-fn nil :priority -1 :server-id haxe :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x41eab035>) :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id "VHDL" :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x41255c1d>) :test\? #f(compiled-function () #<bytecode 0x41ead861>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x41eaf055> :request-handlers #<hash-table equal 0/65 0x41075219> :response-handlers #<hash-table eql 0/65 0x40c810c5> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x41e17ef1> :action-handlers #<hash-table equal 0/65 0x420da38d> :major-modes (vhdl-mode) :activation-fn nil :priority -1 :server-id lsp-vhdl-server :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x42716aed>) :test\? #f(compiled-function () #<bytecode 0x42716b05>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x42716b11> :request-handlers #<hash-table equal 0/65 0x41e003dd> :response-handlers #<hash-table eql 0/65 0x41234401> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x41234a2d> :action-handlers #<hash-table equal 0/65 0x4044fb95> :major-modes (ada-mode) :activation-fn nil :priority -1 :server-id ada-ls :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x42958245>) :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40c5ea55>) :test\? #f(compiled-function () #<bytecode 0x40c5ea69>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40c5ea75> :request-handlers #<hash-table equal 0/65 0x41375b0d> :response-handlers #<hash-table eql 0/65 0x405bde81> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x4113a52d> :action-handlers #<hash-table equal 0/65 0x420dc98d> :major-modes (sh-mode) :activation-fn nil :priority -1 :server-id bash-ls :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x42856ed5>) :test\? #f(compiled-function () #<bytecode 0x42856ee1>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x42856eed> :request-handlers #<hash-table equal 0/65 0x42856f91> :response-handlers #<hash-table eql 0/65 0x422a068d> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x42878e0d> :action-handlers #<hash-table equal 0/65 0x4296800d> :major-modes (groovy-mode) :activation-fn nil :priority -1 :server-id groovy-ls :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x404d66bd>) :test\? #f(compiled-function () #<bytecode 0x404d66d5>)) :ignore-regexps nil :ignore-messages ("readFile .*? requested by TypeScript but content not available") :notification-handlers #<hash-table equal 0/65 0x404d66e1> :request-handlers #<hash-table equal 0/65 0x426b050d> :response-handlers #<hash-table eql 0/65 0x4132c68d> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x404d6701> :action-handlers #<hash-table equal 0/65 0x4042740d> :major-modes nil :activation-fn lsp-typescript-javascript-tsx-jsx-activate-p :priority -3 :server-id jsts-ls :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x404d6721>) :test\? #f(compiled-function () #<bytecode 0x41287215>)) :ignore-regexps nil :ignore-messages ("readFile .*? requested by TypeScript but content not available") :notification-handlers #<hash-table equal 0/65 0x40d81d8d> :request-handlers #<hash-table equal 0/65 0x426deb0d> :response-handlers #<hash-table eql 0/65 0x405cd781> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x4240e8e5> :action-handlers #<hash-table equal 0/65 0x4284eb0d> :major-modes nil :activation-fn lsp-typescript-javascript-tsx-jsx-activate-p :priority -2 :server-id ts-ls :multi-root nil :initialization-options #f(compiled-function () #<bytecode 0x404d65e9>) :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x424ac035>) :test\? #f(compiled-function () #<bytecode 0x424ac049>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x424ac055> :request-handlers #<hash-table equal 0/65 0x424ac0f9> :response-handlers #<hash-table eql 0/65 0x425535f5> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x429a6b31> :action-handlers #<hash-table equal 0/65 0x42716f85> :major-modes nil :activation-fn lsp-clients-flow-activate-p :priority -1 :server-id flow-ls :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x423968c5>) :test\? #f(compiled-function () #<bytecode 0x424ac119>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x413a9531> :request-handlers #<hash-table equal 0/65 0x40573ab1> :response-handlers #<hash-table eql 0/65 0x40573ad1> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x423df649> :action-handlers #<hash-table equal 0/65 0x42754131> :major-modes (php-mode) :activation-fn nil :priority -2 :server-id php-ls :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x424f956d>) :test\? #f(compiled-function () #<bytecode 0x412b383d>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x412b3849> :request-handlers #<hash-table equal 0/65 0x412b3869> :response-handlers #<hash-table eql 0/65 0x42a26db1> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x42a26dd1> :action-handlers #<hash-table equal 0/65 0x41ffd2bd> :major-modes (reason-mode caml-mode tuareg-mode) :activation-fn nil :priority -1 :server-id ocaml-ls :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x405b0929>) :test\? #f(compiled-function () #<bytecode 0x405b0935>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x405b0941> :request-handlers #<hash-table equal 0/65 0x41072431> :response-handlers #<hash-table eql 0/65 0x41072451> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x405f6925> :action-handlers #<hash-table equal 0/65 0x405f6945> :major-modes (caml-mode tuareg-mode) :activation-fn nil :priority 0 :server-id merlin :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x411acdb1>) :test\? #f(compiled-function () #<bytecode 0x411acdbd>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x411acdc9> :request-handlers #<hash-table equal 0/65 0x411acde9> :response-handlers #<hash-table eql 0/65 0x411aa1b1> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x411aa1d1> :action-handlers #<hash-table equal 0/65 0x4225b8b1> :major-modes (c-mode c++-mode objc-mode) :activation-fn nil :priority -1 :server-id clangd :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x42855d65>) :test\? #f(compiled-function () #<bytecode 0x41e600d9>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x41e600e5> :request-handlers #<hash-table equal 0/65 0x4105d1e1> :response-handlers #<hash-table eql 0/65 0x4105d201> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x4105d221> :action-handlers #<hash-table equal 0/65 0x4040feb1> :major-modes (elixir-mode) :activation-fn nil :priority -1 :server-id elixir-ls :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x412860fd>) :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40c60b79>) :test\? #f(compiled-function () #<bytecode 0x40dc6f01>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40dc6f0d> :request-handlers #<hash-table equal 0/65 0x413ef1cd> :response-handlers #<hash-table eql 0/65 0x41060a51> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x413b32b1> :action-handlers #<hash-table equal 0/65 0x405746b9> :major-modes (f90-mode fortran-mode) :activation-fn nil :priority -1 :server-id fortls :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x42a55fe1>) :test\? #f(compiled-function () #<bytecode 0x4240e731>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x4240e73d> :request-handlers #<hash-table equal 0/65 0x412d623d> :response-handlers #<hash-table eql 0/65 0x4240e75d> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x422fcbf5> :action-handlers #<hash-table equal 0/65 0x4240e77d> :major-modes (kotlin-mode) :activation-fn nil :priority -1 :server-id kotlin-ls :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x405d7ca5>) :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x42a13601>) :test\? #f(compiled-function () #<bytecode 0x42a13615>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 2/65 0x42475f31> :request-handlers #<hash-table equal 1/65 0x42475f51> :response-handlers #<hash-table eql 0/65 0x410e69d1> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x4246a409> :action-handlers #<hash-table equal 0/65 0x41e044bd> :major-modes (hack-mode) :activation-fn nil :priority -1 :server-id hack :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x42aaefe9>) :test\? #f(compiled-function () #<bytecode 0x42668401>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x4266840d> :request-handlers #<hash-table equal 0/65 0x424f77e1> :response-handlers #<hash-table eql 0/65 0x4266842d> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x42703145> :action-handlers #<hash-table equal 0/65 0x4266844d> :major-modes (dockerfile-mode) :activation-fn nil :priority -1 :server-id dockerfile-ls :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? t :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x405d12b1>) :test\? #f(compiled-function () #<bytecode 0x405d12bd>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x405d12c9> :request-handlers #<hash-table equal 0/65 0x405d12e9> :response-handlers #<hash-table eql 0/65 0x412721d1> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x405d1309> :action-handlers #<hash-table equal 0/65 0x42004091> :major-modes nil :activation-fn #f(compiled-function (&rest args) #<bytecode 0x40c60b55>) :priority -1 :server-id angular-ls :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x404d6cd5>) :test\? #f(compiled-function () #<bytecode 0x404d6ce9>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x404d6cf5> :request-handlers #<hash-table equal 0/65 0x404d6d15> :response-handlers #<hash-table eql 0/65 0x404d6d35> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x412729a9> :action-handlers #<hash-table equal 0/65 0x41060491> :major-modes (csharp-mode) :activation-fn nil :priority 0 :server-id csharp :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x41285d0d>) :test\? #f(compiled-function () #<bytecode 0x41285d21>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x412858c5> :request-handlers #<hash-table equal 0/65 0x412858e5> :response-handlers #<hash-table eql 0/65 0x41285905> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x41285925> :action-handlers #<hash-table equal 0/65 0x4107c691> :major-modes (plain-tex-mode latex-mode) :activation-fn nil :priority -1 :server-id digestif :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x424f8619>) :test\? #f(compiled-function () #<bytecode 0x424f85c1>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 1/65 0x4285ae55> :request-handlers #<hash-table equal 0/65 0x413a2d91> :response-handlers #<hash-table eql 0/65 0x4285ae75> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x42857a1d> :action-handlers #<hash-table equal 0/65 0x42857a3d> :major-modes (lua-mode) :activation-fn nil :priority -1 :server-id emmy-lua :multi-root nil :initialization-options nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x429088b1>) :test\? #f(compiled-function () #<bytecode 0x429088c9>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 5/65 0x429088d5> :request-handlers #<hash-table equal 0/65 0x429089fd> :response-handlers #<hash-table eql 0/65 0x42af1c41> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x42908a1d> :action-handlers #<hash-table equal 0/65 0x42908a3d> :major-modes (python-mode) :activation-fn nil :priority 1 :server-id mspyls :multi-root nil :initialization-options lsp-python-ms--extra-init-params :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x42908829>) :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil)))
  lsp--find-clients()
  lsp--try-project-root-workspaces(nil nil)
  lsp()
  run-hooks(change-major-mode-after-body-hook prog-mode-hook python-mode-hook)
  apply(run-hooks (change-major-mode-after-body-hook prog-mode-hook python-mode-hook))
  run-mode-hooks(python-mode-hook)
  python-mode()
  set-auto-mode-0(python-mode nil)
  set-auto-mode()
  normal-mode(t)
  after-find-file(nil t)
  find-file-noselect-1(#<buffer dummy.py> "/tmp/dummy.py" nil nil "/private/tmp/dummy.py" (22104514 16777220))
  find-file-noselect("/tmp/dummy.py" nil nil)
  ido-file-internal(selected-window)
  ido-find-file()
  funcall-interactively(ido-find-file)
  call-interactively(ido-find-file nil nil)
  command-execute(ido-find-file)

LSP never reach "started"?

I'm trying to use lsp-python-ms with latest lsp-mode and have next behavior:

  1. On first (open .py file in new folder) run I have in messages
LSP :: Connected to [mspyls:833946 status:starting].
LSP :: Object reference not set to an instance of an object.

and nothing in mspyls buffers.

LSP logs says that mspyls was choosen, and status line has LSP[mspyls:PID status:starting].

  1. On second run I don't have
LSP :: Object reference not set to an instance of an object.

message, rest is the same.

Describe session:

[-] /tmp/tt/
 `-[-] mspyls:833946 status:starting
    |-[-] Buffers
    |  |-[+] test.py
    |  `-[+] nil
    `-[+] Capabilities

Symbol highlighting

When I put the cursor over a symbol, it does not highlight the other occurrences in the buffer (as it does in other LSP supported languages). Is this a configuration error, or is this functionality missing from the Microsoft language server?

Non-specific completion candidates until another character is typed

I am using company-lsp and company-ui, in addition to lsp-mode and this package.

When a completion triggers via company, the initial list of results is not filtered appropriately, so that there are lots of spurious candidates. Once another character is typed, the candidates become more specific, similar to what I'd expect to see in, e.g., VSCode.

Remote server solution

Thank you for your great job to get lsp work well with Microsoft-python-language-server.
I have an issue with the lsp-python-ms: It works well on my local machine. Is there a method for starting a language server on a remote machine? When I open python files on a remote server with TRAMP, I get the error"LSP :: No LSP server for python-mode.".

LSP mode breaks for all python files: "Error while checking syntax automatically"

On opening any python file, the following is logged to the *Messages* buffer:

LSP :: Connected to [mspyls:646699 status:starting]. [2 times]
Error while checking syntax automatically: (args-out-of-range #s(lsp--workspace nil nil nil "/home/hjpotter92/Documents/src/slack-emojinator" #s(lsp--client nil nil (:connect #[1028 "\302\300!\303�!\304�!�\305\306�\"\307\310�\311\312\313\305\314�	\"\315\316\317�\320��\321��\322��\323\324&�\325�\326\"\210\325\327�!\326\"\210\211�B\266\202)\207" [lsp-python-ms--command-string process-environment lsp-resolve-final-function generate-new-buffer-name lsp--compute-process-environment format "*%s::stderr*" make-process :name :connection-type pipe :buffer "*%s*" :coding no-conversion :command :filter :sentinel :stderr :noquery t set-process-query-on-exit-flag nil get-buffer-process] 26 "

(fn FILTER SENTINEL NAME ENVIRONMENT-FN)"] :test\? #[0 "\301\302\300!!\207" [lsp-python-ms--command-string lsp-server-present\? lsp-resolve-final-function] 3]) nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("python/languageServerStarted" lsp-python-ms--language-server-started-callback "telemetry/event" ignore "python/reportProgress" lsp-python-ms--report-progress-callback "python/beginProgress" lsp-python-ms--begin-progress-callback "python/endProgress" lsp-python-ms--end-progress-callback)) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8125 data (5 (#[257 "\301��B\301\242B\240\210\301\242G\300=\205�\0\302\242 \207" [1 (nil) (#[0 "\303\203	\0\306\303
\"\210\300\302\203�\0\304\242\202�\0\307\310\311\304\242\"\301\"!\207" [#[257 "\211\204
\0\305 \210\306\307\310C\"\210\311\301!
>\204�\0\306\312\313\301D\"\210\301\211\314\315\316�\"I\266�\311\301!
>\2045\0\306\312\313\301D\"\210\301\211\317\320I\266�\301�\321\322\323 \"\210)\311\300!>\204T\0\306\312\324\300D\"\210\300\325H\211\203_\0\211\301!\210\210\311\301!
>\204o\0\306\312\313\301D\"\210\301\326H\327�\203\216\0�@r\211q\210\330\301!\210)\210\211T\262��A\262�\202s\0\266�\301�\331\332!\210)\333\334\335\301!\"\207" [#2 #1 cl-struct-lsp--workspace-tags lsp--cur-workspace cl-struct-lsp--client-tags lsp--spinner-stop signal lsp-empty-response-error "initialize" type-of wrong-type-argument lsp--workspace 2 gethash "capabilities" 12 initialized lsp-notify "initialized" make-hash-table lsp--client 21 9 0 lsp--open-in-workspace run-hooks lsp-after-initialize-hook lsp--info "%s initialized successfully" lsp--workspace-print] 7 "

(fn RESPONSE)"] "initialize" nil nil (nil) lsp--cancelable-requests remhash lsp--merge-results -map cl-rest] 5]) lsp--cur-workspace] 4 "

(fn RESULT)"] #[257 "\301��B\301\242B\240\210\301\242G\300=\205�\0\302\242 \207" [1 (nil) (#[0 "\303\203	\0\306\303
\"\210\300\302\203�\0\304\242\202�\0\307\310\311\304\242\"\301\"!\207" [#[257 "\301\302\303\304�\"\206
\0\305\306\300\"\"\207" ["initialize" lsp--warn "%s" gethash "message" format "%s Request has failed"] 6 "

(fn ERROR)"] "initialize" nil nil (nil) lsp--cancelable-requests remhash lsp--merge-results -map cl-rest] 5]) lsp--cur-workspace] 4 "

(fn RESULT)"] "initialize" (24023 45515 654981 839000) (24023 45515 655107 461000)))) nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) (python-mode) nil 1 mspyls nil lsp-python-ms--extra-init-params nil nil nil #[257 "\211�\301\302\303!!)\207" [lsp--cur-workspace lsp--set-configuration lsp-configuration-section "python"] 4 "

(fn WORKSPACE)"] nil nil nil nil nil) nil #<process mspyls> #<process mspyls> (#<buffer export.py>) nil nil starting #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil 0 nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ())) 20)
LSP :: mspyls:646699 initialized successfully
LSP :: Microsoft Python language server is analyzing...done
LSP :: Microsoft Python language server started

I have no clue how to go about solving this. How to get python-lsp to work well with flycheck mode?

Debugger entered--Lisp error: (wrong-type-argument stringp nil)

Greetings to enter the imports I get the following error:

output-2019-10-19-16:12:05

log:

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  string-match("[[:alnum:]]\\'" nil)
  make-progress-reporter(nil 0 1)
  lsp--apply-text-edits((#<hash-table equal 2/65 0x161f29d>))
  #f(compiled-function (edits) #<bytecode 0x2613fa9>)((#<hash-table equal 2/65 0x161f29d>))
  #f(compiled-function () #<bytecode 0x277967d>)()
  #f(compiled-function (result) #<bytecode 0x277d7b9>)([#<hash-table equal 2/65 0x161f29d>])
  lsp--parser-on-message(#s(lsp--parser :headers nil :body nil :reading-body nil :body-length nil :body-received nil :leftovers "" :workspace #s(lsp--workspace :parser #1 :server-capabilities #<hash-table equal 15/65 0x24fdb91> :registered-server-capabilities nil :root "/media/data/dev/docker/odoo/8.0/" :client #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x20c95e1>) :test\? #f(compiled-function () #<bytecode 0x20c95f9>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 5/65 0x20c9605> :request-handlers #<hash-table equal 0/65 0x20c97b1> :response-handlers #<hash-table eql 1/65 0x20c97d1> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x20c97f1> :action-handlers #<hash-table equal 0/65 0x20ca0d1> :major-modes (python-mode) :activation-fn nil :priority 1 :server-id mspyls :multi-root nil :initialization-options lsp-python-ms--extra-init-params :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x20c955d>) :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil) :host-root nil :proc #<process mspyls> :cmd-proc #<process mspyls> :buffers (#<buffer jira_integrator.py>) :highlight-overlays #<hash-table eq 0/65 0x16547dd> :semantic-highlighting-faces nil :extra-client-capabilities nil :status initialized :metadata #<hash-table equal 0/65 0x1665839> :watches #<hash-table equal 0/65 0x25f1639> :workspace-folders nil :last-id 0 :status-string "::Started" :shutdown-action nil :diagnostics #<hash-table equal 0/65 0x2777735> :ewoc nil)) "{\"jsonrpc\":\"2.0\",\"result\":[{\"range\":{\"start\":{\"line\":24,\"character\":0},\"end\":{\"line\":24,\"character\":40}},\"newText\":\"from datetime import datetime, timedelta\"}],\"id\":4}")
  #f(compiled-function (proc output) #<bytecode 0x16b0ba1>)(#<process mspyls> "Content-Length: 167\015\n\015\n{\"jsonrpc\":\"2.0\",\"result\":[{\"range\":{\"start\":{\"line\":24,\"character\":0},\"end\":{\"line\":24,\"character\":40}},\"newText\":\"from datetime import datetime, timedelta\"}],\"id\":4}")

Thanks

Language server keep restarting indexing service?

Completion is almost not working when I'm using Microsoft's python language server. By 'almost', the *Message* prints LSP :: The task was cancelled. most of the time and about 5% percentage of time I may get completions. I test it in vscode in the same virtualenv and the same language server binary, the analyzer run so fast (average < 5s on my MacBook Pro 2019) like this

Untitled

The same message can be found in the follow logs, but I notice the indexing service is keep restarting.

The content of the *lsp-log* buffer is

Command "/Users/user/.emacs.d/mspyls/Microsoft.Python.LanguageServer" is present on the path.
Command "pyls" is present on the path.
Found the following clients for /Users/user/git/competitions/ppdai/tags.py: (server-id mspyls, priority 1), (server-id pyls, priority -1)
The following clients were selected based on priority: (server-id mspyls, priority 1)
Analysis cache path: /Users/user/Library/Caches/Microsoft/Python Language Server
GetCurrentSearchPaths /Users/user/.pyenv/versions/env/bin/python 
Python search paths:
    /private/var/folders/_3/5xmnbvq133s33v6135dvlmfr0000gn/T/svht41pp.khm
    /Users/user/.pyenv/versions/3.7.3/lib/python3.7
    /Users/user/.pyenv/versions/3.7.3/lib/python3.7/lib-dynload
    /Users/user/.pyenv/versions/env/lib/python3.7/site-packages
Configuration search paths:
    /Users/user/.pyenv/versions/3.7.3/lib/python37.zip
    /Users/user/.pyenv/versions/3.7.3/lib/python3.7
    /Users/user/.pyenv/versions/3.7.3/lib/python3.7/lib-dynload
    /Users/user/.pyenv/versions/env/lib/python3.7/site-packages
Microsoft Python Language Server version 0.2.96.0
Initializing for /Users/user/.pyenv/versions/env/bin/python
Reloading modules... 
Reloading modules... 
done.
Analysis restarted.
done.
Analysis restarted.
Reloading modules... 
done.
Analysis restarted.
Reloading modules... 
Reloading modules... 
done.
Analysis restarted.
done.
Analysis restarted.
Reloading modules... 
Reloading modules... 
Reloading modules... 
Reloading modules... 
done.
Analysis restarted.
Reloading modules... 
done.
Analysis restarted.
done.
Analysis restarted.
done.
Analysis restarted.
done.
Analysis restarted.

and the content of *lsp-log: mspyls:38548* is here. Variable company-lsp-cache-candidates is set to 'auto.

I have no idea if the issue comes from lsp-mode or lsp-mode-ms or company-lap or the language server.

@yyoncho Do you have any idea about this? Thank you very much.

Lisp error: (wrong-number-of-arguments #<subr encode-time> 1)

After updated to the latest version of lsp-python-ms, the following error happens

Debugger entered--Lisp error: (wrong-number-of-arguments #<subr encode-time> 1)
  encode-time((19 3 1 16 2 2019 6 nil 0))
  #f(compiled-function (blob) #<bytecode 0x47120545>)((Blob nil (Name nil "Python-Language-Server-osx-x64.0.1.80.nupkg") (Url nil "https://pvsc.blob.core.windows.net/python-language-server-stable/Python-Language-Server-osx-x64.0.1.80.nupkg") (Properties nil (Last-Modified nil "Sat, 16 Feb 2019 01:03:19 GMT") (Etag nil "0x8D693AA8A2A9741") (Content-Length nil "29680349") (Content-Type nil "application/octet-stream") (Content-Encoding nil) (Content-Language nil) (Content-MD5 nil "PQboldiTQhvtBw7Pfkej8g==") (Cache-Control nil) (BlobType nil "BlockBlob") (LeaseStatus nil "unlocked"))))
  mapcar(#f(compiled-function (blob) #<bytecode 0x47120545>) ((Blob nil (Name nil "Python-Language-Server-osx-x64.0.1.80.nupkg") (Url nil "https://pvsc.blob.core.windows.net/python-language-server-stable/Python-Language-Server-osx-x64.0.1.80.nupkg") (Properties nil (Last-Modified nil "Sat, 16 Feb 2019 01:03:19 GMT") (Etag nil "0x8D693AA8A2A9741") (Content-Length nil "29680349") (Content-Type nil "application/octet-stream") (Content-Encoding nil) (Content-Language nil) (Content-MD5 nil "PQboldiTQhvtBw7Pfkej8g==") (Cache-Control nil) (BlobType nil "BlockBlob") (LeaseStatus nil "unlocked"))) (Blob nil (Name nil "Python-Language-Server-osx-x64.0.2.82.nupkg") (Url nil "https://pvsc.blob.core.windows.net/python-language-server-stable/Python-Language-Server-osx-x64.0.2.82.nupkg") (Properties nil (Last-Modified nil "Fri, 17 May 2019 16:03:17 GMT") (Etag nil "0x8D6DAE12D11E5F1") (Content-Length nil "29805519") (Content-Type nil "application/octet-stream") (Content-Encoding nil) (Content-Language nil) (Content-MD5 nil "/4oBhh+mnCtNh1fCIgV/pA==") (Cache-Control nil) (BlobType nil "BlockBlob") (LeaseStatus nil "unlocked"))) (Blob nil (Name nil "Python-Language-Server-osx-x64.0.2.86.nupkg") (Url nil "https://pvsc.blob.core.windows.net/python-language-server-stable/Python-Language-Server-osx-x64.0.2.86.nupkg") (Properties nil (Last-Modified nil "Thu, 23 May 2019 19:41:04 GMT") (Etag nil "0x8D6DFB697EA18B8") (Content-Length nil "29810201") (Content-Type nil "application/octet-stream") (Content-Encoding nil) (Content-Language nil) (Content-MD5 nil "GE+mpcJ1QmtnbWp4FnXuWw==") (Cache-Control nil) (BlobType nil "BlockBlob") (LeaseStatus nil "unlocked"))) (Blob nil (Name nil "Python-Language-Server-osx-x64.0.2.87.nupkg") (Url nil "https://pvsc.blob.core.windows.net/python-language-server-stable/Python-Language-Server-osx-x64.0.2.87.nupkg") (Properties nil (Last-Modified nil "Wed, 29 May 2019 16:40:02 GMT") (Etag nil "0x8D6E4544C13E92E") (Content-Length nil "29811094") (Content-Type nil "application/octet-stream") (Content-Encoding nil) (Content-Language nil) (Content-MD5 nil "+ztai6wZMzlcP83ChYjwqA==") (Cache-Control nil) (BlobType nil "BlockBlob") (LeaseStatus nil "unlocked"))) (Blob nil (Name nil "Python-Language-Server-osx-x64.0.2.96.nupkg") (Url nil "https://pvsc.blob.core.windows.net/python-language-server-stable/Python-Language-Server-osx-x64.0.2.96.nupkg") (Properties nil (Last-Modified nil "Thu, 06 Jun 2019 20:43:14 GMT") (Etag nil "0x8D6EABF992C5A43") (Content-Length nil "29810778") (Content-Type nil "application/octet-stream") (Content-Encoding nil) (Content-Language nil) (Content-MD5 nil "6DeAeBBOiYJFk3HgWr5Y+g==") (Cache-Control nil) (BlobType nil "BlockBlob") (LeaseStatus nil "unlocked"))) (Blob nil (Name nil "Python-Language-Server-osx-x64.0.3.20.nupkg") (Url nil "https://pvsc.blob.core.windows.net/python-language-server-stable/Python-Language-Server-osx-x64.0.3.20.nupkg") (Properties nil (Last-Modified nil "Mon, 24 Jun 2019 20:02:02 GMT") (Etag nil "0x8D6F8DED2AA0D2A") (Content-Length nil "29820701") (Content-Type nil "application/octet-stream") (Content-Encoding nil) (Content-Language nil) (Content-MD5 nil "os6J180GbCd9EPtmvioeew==") (Cache-Control nil) (BlobType nil "BlockBlob") (LeaseStatus nil "unlocked")))))
  lsp-python-ms-latest-nupkg-url("stable")
  lsp-python-ms-setup()
  lsp-python-ms--command-string()
  lsp-resolve-final-function(lsp-python-ms--command-string)
  #f(compiled-function () #<bytecode 0x471fb01d>)()
  #f(compiled-function (client) #<bytecode 0x4105d1a5>)(#s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x471208e1>) :test\? #f(compiled-function () #<bytecode 0x471fb01d>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 5/65 0x471fb029> :request-handlers #<hash-table equal 0/65 0x471fb301> :response-handlers #<hash-table eql 0/65 0x471fb321> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x471fb741> :action-handlers #<hash-table equal 0/65 0x471fbb41> :major-modes (python-mode) :activation-fn nil :priority 1 :server-id mspyls :multi-root nil :initialization-options lsp-python-ms--extra-init-params :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x471208d1>) :remote? nil :completion-in-comments? nil))
  -filter(#f(compiled-function (client) #<bytecode 0x4105d1a5>) (#s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x471208e1>) :test\? #f(compiled-function () #<bytecode 0x471fb01d>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 5/65 0x471fb029> :request-handlers #<hash-table equal 0/65 0x471fb301> :response-handlers #<hash-table eql 0/65 0x471fb321> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x471fb741> :action-handlers #<hash-table equal 0/65 0x471fbb41> :major-modes (python-mode) :activation-fn nil :priority 1 :server-id mspyls :multi-root nil :initialization-options lsp-python-ms--extra-init-params :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x471208d1>) :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40e95845>) :test\? #f(compiled-function () #<bytecode 0x40e9585d>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40e95869> :request-handlers #<hash-table equal 0/65 0x471fa63d> :response-handlers #<hash-table eql 0/65 0x471fa65d> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f676c1> :action-handlers #<hash-table equal 0/65 0x40ea27c1> :major-modes (python-mode) :activation-fn nil :priority -1 :server-id pyls :multi-root nil :initialization-options nil :library-folders-fn #f(compiled-function (workspace) #<bytecode 0x40e957cd>) :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x40e95809>) :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40ea1585>) :test\? #f(compiled-function () #<bytecode 0x40ea159d>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 1/65 0x40ea15a9> :request-handlers #<hash-table equal 0/65 0x40e8ee41> :response-handlers #<hash-table eql 0/65 0x40e80b41> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40e80ee1> :action-handlers #<hash-table equal 1/65 0x40ea15c9> :major-modes (rust-mode rustic-mode) :activation-fn nil :priority -1 :server-id rls :multi-root nil :initialization-options ((omitInitBuild . t) (cmdRun . t)) :library-folders-fn #f(compiled-function (workspace) #<bytecode 0x40fc18ad>) :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x40fc18c5>) :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40fc22ad>) :test\? #f(compiled-function () #<bytecode 0x40fc22c5>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40fc22d1> :request-handlers #<hash-table equal 0/65 0x40fc25a9> :response-handlers #<hash-table eql 0/65 0x40fc264d> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40fb5dc1> :action-handlers #<hash-table equal 0/65 0x40fb6201> :major-modes (ruby-mode enh-ruby-mode) :activation-fn nil :priority -1 :server-id ruby-ls :multi-root t :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x40e812b1>) :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40faab89>) :test\? #f(compiled-function () #<bytecode 0x40faaba1>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40faabad> :request-handlers #<hash-table equal 0/65 0x40faaddd> :response-handlers #<hash-table eql 0/65 0x40fab961> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40fab981> :action-handlers #<hash-table equal 0/65 0x40fabdc1> :major-modes (html-mode sgml-mode mhtml-mode web-mode) :activation-fn nil :priority -4 :server-id html-ls :multi-root nil :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (w) #<bytecode 0x40faaa75>) :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40fac2a9>) :test\? #f(compiled-function () #<bytecode 0x40fac2c1>)) :ignore-regexps nil :ignore-messages ("readFile .*? requested by Vue but content not available") :notification-handlers #<hash-table equal 0/65 0x40fac2cd> :request-handlers #<hash-table equal 0/65 0x40fac5a5> :response-handlers #<hash-table eql 0/65 0x40fac5c5> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40faa9c1> :action-handlers #<hash-table equal 0/65 0x40fbb5c1> :major-modes nil :activation-fn #f(compiled-function (filename mode) #<bytecode 0x40fbcb15>) :priority -1 :server-id vls :multi-root t :initialization-options #f(compiled-function () #<bytecode 0x40fbcb31>) :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x40fbcb51>) :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40fbb1e9>) :test\? #f(compiled-function () #<bytecode 0x40fa06fd>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 2/65 0x40fa0709> :request-handlers #<hash-table equal 0/65 0x40fa0a01> :response-handlers #<hash-table eql 0/65 0x40fa0cd9> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40fa0d7d> :action-handlers #<hash-table equal 0/65 0x40fa11c1> :major-modes (php-mode) :activation-fn nil :priority -1 :server-id iph :multi-root t :initialization-options #f(compiled-function () #<bytecode 0x40fbb1a9>) :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f8aa71>) :test\? #f(compiled-function () #<bytecode 0x40f8aa89>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f8ad6d> :request-handlers #<hash-table equal 0/65 0x40f8ad8d> :response-handlers #<hash-table eql 0/65 0x40f8b1c1> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f8b5c1> :action-handlers #<hash-table equal 1/65 0x40f8aa95> :major-modes (css-mode less-mode less-css-mode sass-mode scss-mode) :activation-fn nil :priority -1 :server-id css-ls :multi-root nil :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f90f49>) :test\? #f(compiled-function () #<bytecode 0x40f90ea9>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f90f6d> :request-handlers #<hash-table equal 0/65 0x40f9119d> :response-handlers #<hash-table eql 0/65 0x40f911bd> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f911dd> :action-handlers #<hash-table equal 0/65 0x40f919c1> :major-modes nil :activation-fn #f(compiled-function (file-name mode) #<bytecode 0x40f90ed5>) :priority 0 :server-id xmlls :multi-root nil :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x40f90eed>) :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f91fad>) :test\? #f(compiled-function () #<bytecode 0x40f91fc5>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f91fd1> :request-handlers #<hash-table equal 0/65 0x40f9217d> :response-handlers #<hash-table eql 0/65 0x40f9219d> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f921bd> :action-handlers #<hash-table equal 0/65 0x40f921dd> :major-modes (go-mode) :activation-fn nil :priority 0 :server-id gopls :multi-root nil :initialization-options nil :library-folders-fn #f(compiled-function (workspace) #<bytecode 0x40f91e3d>) :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f97a5d>) :test\? #f(compiled-function () #<bytecode 0x40f97a75>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f97a81> :request-handlers #<hash-table equal 0/65 0x40f97d59> :response-handlers #<hash-table eql 0/65 0x40f98035> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f9832d> :action-handlers #<hash-table equal 0/65 0x40f9855d> :major-modes (go-mode) :activation-fn nil :priority -1 :server-id go-bingo :multi-root nil :initialization-options lsp-clients-go--make-init-options :library-folders-fn #f(compiled-function (workspace) #<bytecode 0x40f979dd>) :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f98961>) :test\? #f(compiled-function () #<bytecode 0x40f98979>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f98985> :request-handlers #<hash-table equal 0/65 0x40f989a5> :response-handlers #<hash-table eql 0/65 0x40f989c5> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f991c1> :action-handlers #<hash-table equal 0/65 0x40f98dc1> :major-modes (go-mode) :activation-fn nil :priority -2 :server-id go-ls :multi-root nil :initialization-options lsp-clients-go--make-init-options :library-folders-fn #f(compiled-function (workspace) #<bytecode 0x40f979ed>) :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f9b2b1>) :test\? #f(compiled-function () #<bytecode 0x40f9b2c9>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f9b5ad> :request-handlers #<hash-table equal 0/65 0x40f9b5cd> :response-handlers #<hash-table eql 0/65 0x40f831c1> :prefix-function nil :uri-handlers #<hash-table equal 1/65 0x40f9b2d5> :action-handlers #<hash-table equal 0/65 0x40f835c1> :major-modes (clojure-mode clojurec-mode clojurescript-mode) :activation-fn nil :priority 0 :server-id clojure-lsp :multi-root nil :initialization-options (:dependency-scheme "jar") :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f87a9d>) :test\? #f(compiled-function () #<bytecode 0x40f87ab5>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f87ac1> :request-handlers #<hash-table equal 0/65 0x40f87d99> :response-handlers #<hash-table eql 0/65 0x40f87db9> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f87dd9> :action-handlers #<hash-table equal 0/65 0x40f7afc1> :major-modes (dart-mode) :activation-fn nil :priority -2 :server-id dart_language_server :multi-root nil :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f7b6b9>) :test\? #f(compiled-function () #<bytecode 0x40f7b6cd>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f7b6d9> :request-handlers #<hash-table equal 0/65 0x40f7b77d> :response-handlers #<hash-table eql 0/65 0x40f7bbc1> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f7b79d> :action-handlers #<hash-table equal 0/65 0x40f7b7bd> :major-modes (dart-mode) :activation-fn nil :priority -1 :server-id dart_analysis_server :multi-root nil :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f7c7e5>) :test\? #f(compiled-function () #<bytecode 0x40f79add>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f79ae9> :request-handlers #<hash-table equal 0/65 0x40f79c95> :response-handlers #<hash-table eql 0/65 0x40f79cb5> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f79cd5> :action-handlers #<hash-table equal 0/65 0x40f73ac1> :major-modes (elm-mode) :activation-fn nil :priority -1 :server-id elm-ls :multi-root nil :initialization-options lsp-clients-elm--make-init-options :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f89b2d>) :test\? #f(compiled-function () #<bytecode 0x40f89b45>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f89b51> :request-handlers #<hash-table equal 0/65 0x40f89d81> :response-handlers #<hash-table eql 0/65 0x40f89da1> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f89dc1> :action-handlers #<hash-table equal 0/65 0x40f630c1> :major-modes (scala-mode) :activation-fn nil :priority -1 :server-id metals :multi-root nil :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x40f89ad5>) :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f63645>) :test\? #f(compiled-function () #<bytecode 0x40f6365d>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 3/65 0x40f63669> :request-handlers #<hash-table equal 0/65 0x40f63899> :response-handlers #<hash-table eql 0/65 0x40f638b9> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f638d9> :action-handlers #<hash-table equal 0/65 0x40f5b4c1> :major-modes (fsharp-mode) :activation-fn nil :priority 0 :server-id fsac :multi-root nil :initialization-options lsp-fsharp--make-init-options :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f5b9b1>) :test\? #f(compiled-function () #<bytecode 0x40f5b9c9>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f5b9d5> :request-handlers #<hash-table equal 0/65 0x40f5bcad> :response-handlers #<hash-table eql 0/65 0x40f5bccd> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f6bfc1> :action-handlers #<hash-table equal 0/65 0x40f5c0c1> :major-modes (sh-mode) :activation-fn nil :priority -1 :server-id bash-ls :multi-root nil :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f5c4f1>) :test\? #f(compiled-function () #<bytecode 0x40f5c539>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f5c545> :request-handlers #<hash-table equal 0/65 0x40f5c81d> :response-handlers #<hash-table eql 0/65 0x40f5c8c1> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f5ccc1> :action-handlers #<hash-table equal 0/65 0x40f5d101> :major-modes (groovy-mode) :activation-fn nil :priority -1 :server-id groovy-ls :multi-root nil :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f5d6ad>) :test\? #f(compiled-function () #<bytecode 0x40f5d6c5>)) :ignore-regexps nil :ignore-messages ("readFile .*? requested by TypeScript but content not available") :notification-handlers #<hash-table equal 0/65 0x40f5d6d1> :request-handlers #<hash-table equal 0/65 0x40f5d87d> :response-handlers #<hash-table eql 0/65 0x40f5d89d> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f5d8bd> :action-handlers #<hash-table equal 0/65 0x40f5d8dd> :major-modes nil :activation-fn lsp-typescript-javascript-tsx-jsx-activate-p :priority -3 :server-id jsts-ls :multi-root nil :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f5e0ed>) :test\? #f(compiled-function () #<bytecode 0x40f5dce5>)) :ignore-regexps nil :ignore-messages ("readFile .*? requested by TypeScript but content not available") :notification-handlers #<hash-table equal 0/65 0x40f5e5a9> :request-handlers #<hash-table equal 0/65 0x40f5e881> :response-handlers #<hash-table eql 0/65 0x40f5e8a1> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f5ecc1> :action-handlers #<hash-table equal 0/65 0x40f5f0c1> :major-modes nil :activation-fn lsp-typescript-javascript-tsx-jsx-activate-p :priority -2 :server-id ts-ls :multi-root nil :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f5f52d>) :test\? #f(compiled-function () #<bytecode 0x40f5f541>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f5f54d> :request-handlers #<hash-table equal 0/65 0x40f5f825> :response-handlers #<hash-table eql 0/65 0x40f5f8c9> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f4aa41> :action-handlers #<hash-table equal 0/65 0x40f4ae81> :major-modes nil :activation-fn lsp-clients-flow-activate-p :priority -1 :server-id flow-ls :multi-root nil :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f5f8e9>) :test\? #f(compiled-function () #<bytecode 0x40f4ae6d>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f4b1b5> :request-handlers #<hash-table equal 0/65 0x40f4b259> :response-handlers #<hash-table eql 0/65 0x40f4b641> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f4ba81> :action-handlers #<hash-table equal 0/65 0x40f4bd59> :major-modes (php-mode) :activation-fn nil :priority -2 :server-id php-ls :multi-root nil :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f4aa6d>) :test\? #f(compiled-function () #<bytecode 0x40f4be61>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f4c0b5> :request-handlers #<hash-table equal 0/65 0x40f4c3ad> :response-handlers #<hash-table eql 0/65 0x40f4c5dd> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f4c5fd> :action-handlers #<hash-table equal 0/65 0x40f4c61d> :major-modes (reason-mode caml-mode tuareg-mode) :activation-fn nil :priority -1 :server-id ocaml-ls :multi-root nil :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f4c669>) :test\? #f(compiled-function () #<bytecode 0x40f4cfd9>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f4cfe5> :request-handlers #<hash-table equal 0/65 0x40f4d215> :response-handlers #<hash-table eql 0/65 0x40f4d235> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f4d255> :action-handlers #<hash-table equal 0/65 0x40f4e241> :major-modes (c-mode c++-mode objc-mode) :activation-fn nil :priority -1 :server-id clangd :multi-root nil :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f4e74d>) :test\? #f(compiled-function () #<bytecode 0x40f4e761>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f4e76d> :request-handlers #<hash-table equal 0/65 0x40f4ea45> :response-handlers #<hash-table eql 0/65 0x40f4ed39> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f4f031> :action-handlers #<hash-table equal 0/65 0x40f4f329> :major-modes (elixir-mode) :activation-fn nil :priority -1 :server-id elixir-ls :multi-root nil :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn (closure (t) (workspace) (puthash "textDocumentSync" (let ((ht-temp ...)) (ht-set! ht-temp "save" t) (ht-set! ht-temp "change" 2) ht-temp) (progn (or (and ... t) (signal ... ...)) (aref workspace 2)))) :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f4f65d>) :test\? #f(compiled-function () #<bytecode 0x40f4f671>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f4f6ad> :request-handlers #<hash-table equal 0/65 0x40f4f985> :response-handlers #<hash-table eql 0/65 0x40f4fa29> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f4fa49> :action-handlers #<hash-table equal 0/65 0x40f4fe41> :major-modes (f90-mode fortran-mode) :activation-fn nil :priority -1 :server-id fortls :multi-root nil :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f505ad>) :test\? #f(compiled-function () #<bytecode 0x40f505c1>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 0/65 0x40f505cd> :request-handlers #<hash-table equal 0/65 0x40f508b5> :response-handlers #<hash-table eql 0/65 0x40f50bad> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f50ddd> :action-handlers #<hash-table equal 0/65 0x40f50dfd> :major-modes (kotlin-mode) :activation-fn nil :priority -1 :server-id kotlin-ls :multi-root nil :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name) #<bytecode 0x40f514b5>) :test\? #f(compiled-function () #<bytecode 0x40f514c9>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 2/65 0x40f514d5> :request-handlers #<hash-table equal 1/65 0x40f515fd> :response-handlers #<hash-table eql 0/65 0x40f51a41> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x40f5161d> :action-handlers #<hash-table equal 0/65 0x40f5163d> :major-modes (hack-mode) :activation-fn nil :priority -1 :server-id hack :multi-root nil :initialization-options nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil)))
  lsp--find-clients(python-mode "/Users/isolet/competitions/tags.py")
  lsp--try-project-root-workspaces(nil nil)
  lsp()
  (progn (lsp))
  (if (derived-mode-p (quote python-mode)) (progn (lsp)))
  python-lsp()
  run-hooks(hack-local-variables-hook)
  hack-local-variables-apply()
  hack-local-variables(no-mode)
  run-mode-hooks(python-mode-hook)
  python-mode()
  set-auto-mode-0(python-mode nil)
  set-auto-mode()
  normal-mode(t)
  after-find-file(nil nil t nil nil)
  revert-buffer--default(t nil)
  revert-buffer(t)
  funcall-interactively(revert-buffer t)
  call-interactively(revert-buffer nil nil)
  command-execute(revert-buffer)

My Emacs version is GNU Emacs 26.2.90 (build 1, x86_64-apple-darwin18.6.0, Carbon Version 158 AppKit 1671.5) of 2019-03-22.

Invalid function "python/languageServerStarted" with new lsp-register-client

I'm trying to get this working with a new version of lsp-mode (20181217.630, using the new lsp-register-client functionality) and it is failing to run lsp-python-enable with the title error. I'm on Spacemacs v0.200.13, emacs 26.1.

I've tried running in debug mode with only the lsp-mode and lsp-python-ms packages (none of the spacemacs config included), and if I go to a python file and manually start lsp, the mspyls buffer is created but the server doesn't start because the executable command seems to be malformed. The exact error is: No executable found matching command "dotnet-Microsoft.Python.LanguageServer.dll"

The relevant section of my config looks like so:

(use-package lsp-mode
    :ensure t
    :config
    (require 'lsp-clients)
    ;; change nil to 't to enable logging of packets between emacs and the LS
    ;; this was invaluable for debugging communication with the MS Python Language Server
    ;; and comparing this with what vs.code is doing
    (setq lsp-print-io t))
(use-package lsp-python-ms
    :ensure nil
    :hook (python-mode . 'lsp-python-enable)
    :config
    ;; for dev build of language server
    (setq lsp-python-ms-dir
          (expand-file-name "/usr/local/etc/python-language-server/output/bin/Release/")))

Also full disclosure: In my attempts to debug and play around with different versions of lsp-mode I have further broken things, and now I'm getting the following error: lsp-python-ms.elc failed to define function lsp-python-enable. So I'll try to keep looking into this and provide any other info that might help, but also I'm going to try to fix the problems that I created 😅

custom setting causes `Object reference not set to an instance of an object`

I have some trouble with this commit: 366097c

I got this error after upgrading packages

LSP :: mspyls:20988 initialized successfully
LSP :: Object reference not set to an instance of an object. [23 times]

At first I though it was server problem but I did not find any issues reported. Tried using latest master of server and the binary downloaded by lsp-python-ms, both gave me same response.

I tried to comment out following code, then lsp started working. Though they seemed very innocent to me.

(lsp-register-custom-settings
 '(("python.analysis.cachingLevel" lsp-python-ms-cache)
   ("python.analysis.errors" lsp-python-ms-errors)
   ("python.analysis.warnings" lsp-python-ms-warnings)
   ("python.analysis.information" lsp-python-ms-information)
   ("python.analysis.disabled" lsp-python-ms-disabled)
   ("python.analysis.autoSearchPaths" (> (length lsp-python-ms-extra-paths) 0) t)))

Update:

commenting out is not enough, also need to add this line back

(lsp-register-custom-settings '(("python.analysis.cachingLevel" lsp-python-ms-cache)))

mspyls automatic download should timeout

In my workplace all the ports below 1024 are blocked.
Since the automatic download request uses port 443, Emacs freezes on the initialization waiting the download operation to finish.
Does a workaround exist to bypass this problem?

Using lsp-python-ms with anaconda

I believe that the packages downloaded in a specific anaconda environment are not being recognized. I have tried to reinstall the package and the server after switching to different conda environments and have not had any success. Do you know what is going on?

No LSP server for python-mode

I've followed the instructions to the letter I believe but when I open a simple python file that contains a print statement, I get the message in the mini-buffer LSP :: No LSP server for python-mode. Apart from the installation instructions provided, should I do something else? What am I missing?

Error in setup readme

The setup readme suggests:

(require 'lsp-python-ms)
(add-hook 'python-mode #'lsp) ; or lsp-deferred

It should suggest the variable python-mode-hook! not python-mode

(require 'lsp-python-ms)
(add-hook 'python-mode-hook #'lsp) ; or lsp-deferred

How to configure specific python version?

I use virtualenv in Emacs to start a virtual Python environemnt, and lsp-python-ms use system default Python to start the server (I saw the message in *lsp-log*).

Is there any way to change python executable in lsp mode?

Documentation and completions slow to appear after startup

FYI, I have had this problem with Emacs 26.2, Emacs 26.3, and Emacs 27.0.50 built with jansson.

After the language server has started, documentation and completion candidates are slow to appear, and I get lots of "task cancelled" messages.

By contrast, VSCode is quick to provide completions and documentation after startup.

Since we know that the VSCode and Emacs servers are the same, do we know what difference between the clients is causing this issue?

LSP :: The task was cancelled.

So whenever I start mspyls server and moves the cursor around the python file, I am seeing LSP :: The task was cancelled. for the first minute (approximate) During this period the completion and documentation is very inconsistent, sometimes there is, sometimes there isn't. The *lsp-log* is very clean and I don't see anywhere prompting LSP server indexing so I don't think it's related 32. My current configuration is here

FYI I only see this prompt in mspyls server and I do have company-lsp-cache-candidates set to auto.

lsp-python-ms-cache-dir not used?

I've found a variable lsp-python-ms-cache-dir, which, by its name, means that the cache dir of the ms-pyls analysis, but it seens that the variable is not used.

  1. There is no such directory (i.e. ~/.emacs.d/.lsp-python) created in my system(neither windows nor macosx).
  2. According to the *lsp-log* buffer, it seems that the cache dir is set by ms-pyls itself.
    In my macosx system, there are a line like "Analysis cache path: ~/Library/Caches/Microsoft/Python Language Server" shown in *lsp-log* buffer.

Error when upgrading the package

On emacs 27, spacemacs develop branch i get error during the package upgrade

(Spacemacs) --> installing package: lsp-python-ms@python... [1/1]
Contacting host: melpa.org:443
Generating autoloads for lsp-python-ms.el...
(Spacemacs) Error: 
An error occurred while installing lsp-python-ms (error: (error lsp-python-ms.el:0:0: error: scan-error: (Unbalanced parentheses 11325 13727)))

microsoft language server indexing entire home directory

Just a quick question in regards to the server.

Whenever I use this server, it begins to index my entire home directory(I have the source code for some large python projects). For example, If I have the following directory layout
-Project Directory
---Large Pyhon project
---Another Large project
---Project I am currently working on
the server will end up indexing those projects as well which makes it very slow to start and to respond as well. Is there any way of preventing this? Should I begin to use pip environments for my smaller projects as well?

Thank you in advance and thank you to everybody who has worked on this.

[question] How to disable the cache?

Hi I was wondering if there's any command to disable the cache as shown here. I've greped the mspyls folder but couldn't find any text containing "python.analysis.cachingLevel": "System". Is there such an option through lsp-python-ms ?

Language Server is not downloading

Language server does not appear to be downloading. Even though the messages say "Downloaded Microsoft Python Language Server", mspyls directory is empty. I also mentioned this here syl20bnr/spacemacs#12497 but it appears to be an lsp-python-ms issue.

Wrote c:/Users/lexxish/AppData/Local/Temp/mspylsbP3Ckn.zip
/bin/bash: -c: line 0: unexpected EOF while looking for matching `''
/bin/bash: -c: line 1: syntax error: unexpected end of file
Downloaded Microsoft Python Language Server!
File mode specification error: (error Cannot find Microsoft Python Language Server executable! It’s expected to be c:/Users/lexxish/.emacs.d/mspyls/Microsoft.Python.LanguageServer.exe)```

Automatic install does not work on Windows 10

On Windows 10 automatic install downloads the nupkg, logs Extracting Microsoft Python Language Server...done and exits. When I check ~/.emacs.d/mspyls it's empty.

I guess that error happens during unzipping nupkg, and this error does not get reported back into Emacs.

On my machine the resulting Powershell command to extract mspyls looks like that:

powershell -noprofile -noninteractive -nologo -ex bypass Expand-Archive -path '~/Desktop/Python-Language-Server-win-x64.0.4.71.nupkg' -dest '~/.emacs.d/mspyls/'

When I try to run it directly in Powershell prompt I get the following:

Expand-Archive : .nupkg is not a supported archive file format. .zip is the only supported archive file format.
At line:1 char:1
+ Expand-Archive -path ~/Desktop/Python-Language-Server-win-x64.0.4.71. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (.nupkg:String) [Expand-Archive], IOException
    + FullyQualifiedErrorId : NotSupportedArchiveFileExtension,Expand-Archive

I'm not sure how it should be fixed since I'm not proficient with Powershell, but I guess we're supposed to add some flag to override file extension check...

Can we make the parse-dot-env optional?

I just ran a package update in Spacemacs and found that the function (lsp-python-ms--parse-dot-env workspace-root) throws an error in this commit 6151d9f. It throws an error for not having a .env file in a custom .venv, so I manually updated the lsp-python-ms.el to the prior commit. Can this parsing be optional?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.