GithubHelp home page GithubHelp logo

atom-community / atom-ide-vue Goto Github PK

View Code? Open in Web Editor NEW
13.0 4.0 3.0 626 KB

Vue language support for Atom IDE

Home Page: https://atom.io/packages/atom-ide-vue

License: MIT License

JavaScript 48.62% Vue 42.62% HTML 8.76%
atom atom-package atom-ide ide-vue vue

atom-ide-vue's People

Contributors

aminya avatar appelgriebsch avatar belar avatar dependabot[bot] avatar semantic-release-bot avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

atom-ide-vue's Issues

Not highlighting typescript issue in vue files

I can provide small repro if needed but maybe it will be clear from my description without that...

Seems like I can see types of objects/properties on hovering them but if there is some type error or object with implicit 'any' type (I have strict: true enabled in my project), then there are no highlights in the editor telling me about the issue. I can see those in SublimeText+LSP or VSCode+vetur.

Unhandled method client/registerCapability

Prerequisites

Description

I can't seem to have an outline for .vue files and there is no autcomplete available. I'm not sure if I need to install a separate package for autocomplete but I'm interested in the outline anyway. This is the console output at the start of atom. Made it as simple as possible by disabling as many packages as I can.

Steps to Reproduce

  1. Purge the existing atom installation:
sudo apt purge atom
rm -rf ~/atom
rm -rf ~/.atom
rm -rf ~/.config/Atom
  1. Download and install a fresh atom using https://atom.io/download/deb.
  2. Install packages atom-ide-vue, language-vue, atom-ide-base and atom-ide-ui (to be able to see the console). At this point atom tells us we have two packages that do the same thing: linter and atom-ide-diagnostics and asks if we wanted to remove one of them. Politely decline. Then restart the ide for good measure. This is where we're at:
$ apm ls -id
Community Packages (15) /home/<toramanlis>/.atom/packages
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]
  1. Add a project folder with a .vue file in it and open the file. Double check if the file is detected as a Vue file. Check if another option for a .vue file is listed. Everything should be in order. The outline view is completely empty. As in no messages about not having an outline either.
  2. Open the console and see the error message (along with some other messages about the error message):
(node:1680380) UnhandledPromiseRejectionWarning: Error: Unhandled method client/registerCapability
    at /home/<toramanlis>/.atom/packages/atom-ide-vue/node_modules/vls/dist/vueServerMain.js:1:33573
    at /home/<toramanlis>/.atom/packages/atom-ide-vue/node_modules/vls/dist/vueServerMain.js:1:33868
    at Immediate.<anonymous> (/home/<toramanlis>/.atom/packages/atom-ide-vue/node_modules/vls/dist/vueServerMain.js:1:34233)
    at processImmediate (internal/timers.js:439:21)
(node:1680380) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:1680380) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Expected behavior:

Having the proper outline for the file and no errors in the console.

Actual behavior:

No outline what so ever. Not the generic empty outline message either. Just the filter bar and that's it.

Reproduces how often:

Every single time consistently.

Versions

$ atom -v
Atom    : 1.60.0
Electron: 9.4.4
Chrome  : 83.0.4103.122
Node    : 12.14.1
$ apm -v
apm  2.6.2
npm  6.14.13
node 12.14.1 x64
atom 1.60.0
python 2.7.18
git 2.25.1
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.4 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
$ uname -r
5.15.6-051506-generic
$ nvm current
v14.18.2

Additional Information

This is the minimal package list I can reproduce the issue and see the results in the console:

$ apm ls -id
Community Packages (3) /home/<toramanlis>/.atom/packages
├── [email protected]
├── [email protected]
└── [email protected]

Failed to activate the atom-ide-vue package

[Enter steps to reproduce:]

  1. Just popped up after I started atom

Atom: 1.41.0 x64
Electron: 4.2.7
OS: Debian GNU/Linux
Thrown From: atom-ide-vue package 1.2.0

Stack Trace

Failed to activate the atom-ide-vue package

At Cannot find module 'vscode-languageserver-types'

Error: Cannot find module 'vscode-languageserver-types'
    at Module._resolveFilename (internal/modules/cjs/loader.js:584:15)
    at Module._resolveFilename (/usr/share/atom/resources/electron.asar/common/reset-search-paths.js:43:12)
    at Function.get_Module._resolveFilename (/usr/share/atom/resources/app/static/<embedded>:11:155413)
    at Module.require (/app.asar/static/index.js:61:43)
    at require (/usr/share/atom/resources/app/static/<embedded>:11:146745)
    at /packages/ide-vue/node_modules/vscode-languageserver-protocol/lib/main.js:37:10)
    at /packages/ide-vue/node_modules/vscode-languageserver-protocol/lib/main.js:44:3)
    at Module.get_Module._compile (/usr/share/atom/resources/app/static/<embedded>:11:147429)
    at Object.value [as .js] (/usr/share/atom/resources/app/static/<embedded>:11:150977)
    at Module.load (internal/modules/cjs/loader.js:602:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:541:12)
    at Function.Module._load (internal/modules/cjs/loader.js:533:3)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (/usr/share/atom/resources/app/static/<embedded>:11:146745)
    at /packages/ide-vue/node_modules/atom-languageclient/build/lib/languageclient.js:17:10)
    at /packages/ide-vue/node_modules/atom-languageclient/build/lib/languageclient.js:400:3)
    at Module.get_Module._compile (/usr/share/atom/resources/app/static/<embedded>:11:147429)
    at Object.value [as .js] (/usr/share/atom/resources/app/static/<embedded>:11:150977)
    at Module.load (internal/modules/cjs/loader.js:602:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:541:12)
    at Function.Module._load (internal/modules/cjs/loader.js:533:3)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (/usr/share/atom/resources/app/static/<embedded>:11:146745)
    at /packages/ide-vue/node_modules/atom-languageclient/build/lib/convert.js:3:12)
    at /packages/ide-vue/node_modules/atom-languageclient/build/lib/convert.js:204:3)
    at Module.get_Module._compile (/usr/share/atom/resources/app/static/<embedded>:11:147429)
    at Object.value [as .js] (/usr/share/atom/resources/app/static/<embedded>:11:150977)
    at Module.load (internal/modules/cjs/loader.js:602:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:541:12)
    at Function.Module._load (internal/modules/cjs/loader.js:533:3)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (/usr/share/atom/resources/app/static/<embedded>:11:146745)
    at /packages/ide-vue/node_modules/atom-languageclient/build/lib/auto-languageclient.js:14:22)
    at /packages/ide-vue/node_modules/atom-languageclient/build/lib/auto-languageclient.js:677:3)
    at Module.get_Module._compile (/usr/share/atom/resources/app/static/<embedded>:11:147429)
    at Object.value [as .js] (/usr/share/atom/resources/app/static/<embedded>:11:150977)

Commands

     -5:31.8.0 application:open-file (div.tool-panel.tree-view)
     -4:37.1.0 intentions:highlight (input.hidden-input)
     -4:36.8.0 core:copy (input.hidden-input)
     -4:22.2.0 intentions:highlight (input.hidden-input)
     -4:21.8.0 core:paste (input.hidden-input)
     -4:12.8.0 linter-ui-default:toggle-panel (atom-workspace.workspace.scrollbars-visible-always.theme-solarized-dark-syntax.theme-atom-dark-ui)
     -3:31.8.0 core:save (atom-workspace.workspace.scrollbars-visible-always.theme-solarized-dark-syntax.theme-atom-dark-ui)

Non-Core Packages

atom-ide-vue 1.2.0 
atom-vue 0.6.0 
atom-vue-router 0.3.0 
busy-signal 2.0.1 
ide-vue 0.1.9 
intentions 1.1.5 
linter 2.3.1 
linter-eslint 8.5.5 
linter-ui-default 1.8.1 
vue-fmt 0.1.1 
vue-stylefmt 0.5.0 

How to get jump-to-definition to use Vetur/vue-language-server results

Hello, I'm really interested in this project, but am struggling to understand how all the tooling comes together.

Here are some things I've tried today

  1. I've installed this package, hyperclick, and atom-ide-definitions, set the scope options on atom-ide-definitions to include text.html.vue, but it doesn't seem like any meaningful results are coming back from vue-language-server to the ClickProvider. And on Atom, nearly every symbol will be underlined when I "cmd-hover" over tokens. This means that hyperclick is getting a non-falsy result for each token, when I think the ideal UX is that tokens are only underlined and cmd-clickable if there is a definition target to go for, otherwise you get a bunch of "no definition found" alerts.
  2. I've tried to debug the messages being sent to Vetur via atom-languageclient using atom.config.set('core.debugLSP', true), but I don't see any logs as I (think) I trigged messages by "cmd-hovering" over symbols in my Vue files. I don't understand why there is seemingly no communication between Atom and the vue-language-server.

Currently, I've been using my fork of atom-vue-hyperclick to support jump-to-definition between the template and script tags inside a Vue SFC, by using the 'acorn' JS parser but have been unsuccessful in using the vue-language-server/LSP tooling. Since this library seems to have the basic infrastructure set up, I would be really interested either extending my package to use VLS, or implement a proper jump-to-defintion that use VLS inside this package, but could use some help understanding how to debug this stuff and how it all works together. Thanks!

TypeScript support for SFCs

Atom version: 1.40.1 x64
Data Tip version: 0.11.0
Signature Help version: 0.7.1
Go to Definition version: 0.3.2
linter version: 2.3.1
ide-typescript: 0.9.1
atom-ide-vue: 1.1.0
language-vue: 0.25.0
OS: Linux

TypeScript in Vue's Single File Fomponents doesn't seem to work. Is this feature planned for the future?

Thanks for your time and work so far.

Auto complete

Hi,
First, thanks for this atom plugin, it's great.

I recently upgraded to version 1.4.0 and auto-complete is not working as expected.

Normally, when I begin typing, it displays a list of possibilities, I pick the one I want, hit enter or tab and it completes it for me. That part is working fine, however for some reason it is deleting the character right in front of where the cursor started.

Example:
I start typing:
this.someProp, someProperty shows in the list, I select it, then hit enter and it inserts someProperty, but removes the period.
So now it becomes thissomeProperty instead of what it should be is this.someProperty (notice the . is missing in the first one).

I'm fairly certain it is die to this package because when I disable this package, auto-complete works as expected.

Thanks again.

UPDATE:
When I am typing parentheses or brackets, it works fine. So (someProp... becomes (someProperty)

Installed but not working at all

Prerequisites

Description

I did install it successfully but it looks like not working at all because .vue files not being linted and not showing any autocompletes of vue when coding.

Steps to Reproduce

  1. Install atom-ide-base and its dependencies
  2. Install linter and its dependencies
  3. Install atom-ide-vue and its dependencies
  4. Packages above installed successfully and being activated but not working at all (other ide packages like ide-php, ide-typescript, ide-css working well)

Expected behavior:

Lint .vue files and show the vue autocompletes

Actual behavior:

Demo

Versions

OS: Windows 11
image

[Security] Workflow CI.yml is using vulnerable action wagoid/commitlint-github-action

The workflow CI.yml is referencing action wagoid/commitlint-github-action using references v2. However this reference is missing the commit bf83d2b35c4177779d047f464b48d9907f2c5201 which may contain fix to the some vulnerability.
The vulnerability fix that is missing by actions version could be related to:
(1) CVE fix
(2) upgrade of vulnerable dependency
(3) fix to secret leak and others.
Please consider to update the reference to the action.

Failed to activate the atom-ide-vue package (v1.4.6)

[Enter steps to reproduce:]

  1. Install Atom IDE Vue package 1.4.6
  2. Restart
  3. Get a long error

Atom: 1.58.0 x64
Electron: 9.4.4
OS: Microsoft Windows 10 Home N
Thrown From: atom-ide-vue package 1.4.6

Stack Trace

Failed to activate the atom-ide-vue package

At Cannot find module './utils/is'
Require stack:
- C:\Users\Username\.atom\packages\atom-ide-vue\node_modules\vscode-languageserver-protocol\lib\common\protocol.js
- C:\Users\Username\.atom\packages\atom-ide-vue\node_modules\vscode-languageserver-protocol\lib\common\api.js
- C:\Users\Username\.atom\packages\atom-ide-vue\node_modules\vscode-languageserver-protocol\lib\node\main.js
- C:\Users\Username\.atom\packages\atom-ide-vue\node_modules\atom-languageclient\build\lib\languageclient.js
- C:\Users\Username\.atom\packages\atom-ide-vue\node_modules\atom-languageclient\build\lib\convert.js
- C:\Users\Username\.atom\packages\atom-ide-vue\node_modules\atom-languageclient\build\lib\auto-languageclient.js
- C:\Users\Username\.atom\packages\atom-ide-vue\node_modules\atom-languageclient\build\lib\main.js
- C:\Users\Username\.atom\packages\atom-ide-vue\lib\main.js
- C:\Users\Username\AppData\Local\atom\app-1.58.0\resources\app.asar\static\index.html

Error: Cannot find module './utils/is'
Require stack:
- C:\Users\Username\.atom\packages\atom-ide-vue\node_modules\vscode-languageserver-protocol\lib\common\protocol.js
- C:\Users\Username\.atom\packages\atom-ide-vue\node_modules\vscode-languageserver-protocol\lib\common\api.js
- C:\Users\Username\.atom\packages\atom-ide-vue\node_modules\vscode-languageserver-protocol\lib\node\main.js
- C:\Users\Username\.atom\packages\atom-ide-vue\node_modules\atom-languageclient\build\lib\languageclient.js
- C:\Users\Username\.atom\packages\atom-ide-vue\node_modules\atom-languageclient\build\lib\convert.js
- C:\Users\Username\.atom\packages\atom-ide-vue\node_modules\atom-languageclient\build\lib\auto-languageclient.js
- C:\Users\Username\.atom\packages\atom-ide-vue\node_modules\atom-languageclient\build\lib\main.js
- C:\Users\Username\.atom\packages\atom-ide-vue\lib\main.js
- C:\Users\Username\AppData\Local\atom\app-1.58.0\resources\app.asar\static\index.html
    at Module._resolveFilename (internal/modules/cjs/loader.js:797:17)
    at o._resolveFilename (electron/js2c/renderer_init.js:43:689)
    at Function.get_Module._resolveFilename (~/AppData/Local/atom/app-1.58.0/resources/app/static/<embedded>:11:157920)
    at Module.require (/app.asar/static/index.js:61:43)
    at require (~/AppData/Local/atom/app-1.58.0/resources/app/static/<embedded>:11:149207)
    at /packages/atom-ide-vue/node_modules/vscode-languageserver-protocol/lib/common/protocol.js:9:12)
    at /packages/atom-ide-vue/node_modules/vscode-languageserver-protocol/lib/common/protocol.js:756:3)
    at Module.get_Module._compile (~/AppData/Local/atom/app-1.58.0/resources/app/static/<embedded>:11:149891)
    at Object.value [as .js] (~/AppData/Local/atom/app-1.58.0/resources/app/static/<embedded>:11:153485)
    at Module.load (internal/modules/cjs/loader.js:815:32)
    at Module._load (internal/modules/cjs/loader.js:727:14)
    at Function.Module._load (electron/js2c/asar.js:769:28)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (~/AppData/Local/atom/app-1.58.0/resources/app/static/<embedded>:11:149207)
    at /packages/atom-ide-vue/node_modules/vscode-languageserver-protocol/lib/common/api.js:21:14)
    at /packages/atom-ide-vue/node_modules/vscode-languageserver-protocol/lib/common/api.js:44:3)
    at Module.get_Module._compile (~/AppData/Local/atom/app-1.58.0/resources/app/static/<embedded>:11:149891)
    at Object.value [as .js] (~/AppData/Local/atom/app-1.58.0/resources/app/static/<embedded>:11:153485)
    at Module.load (internal/modules/cjs/loader.js:815:32)
    at Module._load (internal/modules/cjs/loader.js:727:14)
    at Function.Module._load (electron/js2c/asar.js:769:28)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (~/AppData/Local/atom/app-1.58.0/resources/app/static/<embedded>:11:149207)
    at /packages/atom-ide-vue/node_modules/vscode-languageserver-protocol/lib/node/main.js:20:14)
    at /packages/atom-ide-vue/node_modules/vscode-languageserver-protocol/lib/node/main.js:26:3)
    at Module.get_Module._compile (~/AppData/Local/atom/app-1.58.0/resources/app/static/<embedded>:11:149891)
    at Object.value [as .js] (~/AppData/Local/atom/app-1.58.0/resources/app/static/<embedded>:11:153485)
    at Module.load (internal/modules/cjs/loader.js:815:32)
    at Module._load (internal/modules/cjs/loader.js:727:14)
    at Function.Module._load (electron/js2c/asar.js:769:28)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (~/AppData/Local/atom/app-1.58.0/resources/app/static/<embedded>:11:149207)
    at /packages/atom-ide-vue/node_modules/atom-languageclient/build/lib/languageclient.js:23:13)
    at /packages/atom-ide-vue/node_modules/atom-languageclient/build/lib/languageclient.js:552:3)
    at Module.get_Module._compile (~/AppData/Local/atom/app-1.58.0/resources/app/static/<embedded>:11:149891)
    at Object.value [as .js] (~/AppData/Local/atom/app-1.58.0/resources/app/static/<embedded>:11:153485)

Commands

Non-Core Packages

aligner 1.3.0 
aligner-css 1.2.1 
aligner-javascript 1.3.0 
aligner-php 1.3.0 
aligner-typescript 1.0.0 
atom-beautify 0.33.4 
atom-ide-ui 0.13.0 
atom-ide-vue 1.4.6 
atom-typescript 14.3.2 
atom-vue 0.6.0 
atom-vue-router 0.3.0 
autoclose-html 0.23.0 
autocomplete 0.47.0 
bootstrap-vue-snippets 0.12.0 
emmet 2.4.3 
html-template-generator 0.3.0 
hyperclick 0.0.0 
ide-php 0.7.18 
ide-typescript 0.9.5 
language-vue 0.26.0 
minimap 4.40.0 
minimap-pigments 0.2.2 
path-hyperclick 0.3.0 
php-cs-fixer 4.2.0 
snippet-generator 0.3.2 
snippet-manager 1.2.0 
source-preview 0.5.3 
source-preview-markdown 0.1.1 

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.