Skip to content

Commit f23ff59

Browse files
committed
小小的一步
1 parent 4e46fe0 commit f23ff59

15 files changed

+2023
-0
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/client/node_modules
2+
/client/out/*.map
3+
/publish/

.vscodeignore

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
.vscode/**
2+
**/*.ts
3+
**/*.map
4+
.gitignore
5+
**/tsconfig.json
6+
**/tsconfig.base.json
7+
contributing.md
8+
.travis.yml
9+
client/node_modules/**
10+
!client/node_modules/vscode-jsonrpc/**
11+
!client/node_modules/vscode-languageclient/**
12+
!client/node_modules/vscode-languageserver-protocol/**
13+
!client/node_modules/vscode-languageserver-types/**

README.md

+134
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
# lua-language-server
2+
3+
| Windows | Linux | macOS |
4+
| ------- | ----- | ----- |
5+
| [![Build Status](https://dev.azure.com/sumneko/lua-language-server/_apis/build/status/sumneko.lua-language-server?branchName=master&jobName=windows)](https://dev.azure.com/sumneko/lua-language-server/_build/latest?definitionId=1&branchName=master) | [![Build Status](https://dev.azure.com/sumneko/lua-language-server/_apis/build/status/sumneko.lua-language-server?branchName=master&jobName=linux)](https://dev.azure.com/sumneko/lua-language-server/_build/latest?definitionId=1&branchName=master) | [![Build Status](https://dev.azure.com/sumneko/lua-language-server/_apis/build/status/sumneko.lua-language-server?branchName=master&jobName=macos)](https://dev.azure.com/sumneko/lua-language-server/_build/latest?definitionId=1&branchName=master)
6+
7+
## Feature
8+
9+
- [x] Goto Definition
10+
- [x] Find All References
11+
- [x] Hover
12+
- [x] Diagnostics
13+
- [x] Rename
14+
- [x] Auto Completion
15+
- [x] IntelliSense
16+
- [x] Signature Help
17+
- [x] Document Symbols
18+
- [x] Syntax Check
19+
- [x] Highlight
20+
- [x] Code Action
21+
- [x] EmmyLua Annotation
22+
- [ ] Multi Workspace
23+
- [ ] Type Format
24+
25+
## Preview
26+
27+
### Goto Definition
28+
29+
![avatar](https://github.com/sumneko/lua-language-server/raw/master/images//Goto%20Definition.gif)
30+
31+
### Find All References
32+
33+
![avatar](https://github.com/sumneko/lua-language-server/raw/master/images//Find%20All%20References.gif)
34+
35+
### Hover
36+
37+
![avatar](https://github.com/sumneko/lua-language-server/raw/master/images/Hover.gif)
38+
39+
### Diagnostics
40+
41+
![avatar](https://github.com/sumneko/lua-language-server/raw/master/images/Diagnostics.gif)
42+
43+
### Rename
44+
45+
![avatar](https://github.com/sumneko/lua-language-server/raw/master/images/Rename.gif)
46+
47+
### Auto Completion
48+
49+
![avatar](https://github.com/sumneko/lua-language-server/raw/master/images/Auto%20Completion.gif)
50+
51+
### Signature Help
52+
53+
![avatar](https://github.com/sumneko/lua-language-server/raw/master/images/Signature%20Help.gif)
54+
55+
### Emmy Annotation
56+
57+
![avatar](https://github.com/sumneko/lua-language-server/raw/master/images/Emmy%20Annotation.gif)
58+
59+
## How to use on macOS/Linux
60+
61+
You need to build `lua-language-server` yourself on macOS/Linux.
62+
63+
* Install [sumneko.lua] in VSCode
64+
* Install [extension-path] in VSCode
65+
* Install [ninja]
66+
* Clone source code
67+
```
68+
git clone https://github.com/sumneko/lua-language-server
69+
cd lua-language-server
70+
git submodule update --init --recursive
71+
```
72+
* Open repo and execute tasks in VSCode
73+
1. PreCompile
74+
2. Compile
75+
3. Install
76+
* Restart VSCode and open your lua project
77+
* Enjoy
78+
79+
[ninja]: https://github.com/ninja-build/ninja/wiki/Pre-built-Ninja-packages
80+
[sumneko.lua]: https://marketplace.visualstudio.com/items?itemName=sumneko.lua
81+
[extension-path]: https://marketplace.visualstudio.com/items?itemName=actboy168.extension-path
82+
83+
## Version
84+
85+
- [x] Lua 5.1
86+
- [x] Lua 5.2
87+
- [x] Lua 5.3
88+
- [x] Lua 5.4
89+
- [x] LuaJIT
90+
91+
If you find any mistakes, please [tell me][issues] or use [Pull Requests][@lua] to fix them directly.
92+
93+
如果你发现了任何错误,请[告诉我][issues]或使用[Pull Requests][@lua]来直接修复。
94+
95+
[issues]: https://github.com/sumneko/lua-language-server/issues
96+
[@lua]: https://github.com/sumneko/lua-language-server/tree/master/server/libs/%40lua
97+
98+
## Locale
99+
100+
- [x] en-US
101+
- [x] zh-CN
102+
103+
Please [help me][en-US] improve the quality of `en-US`.
104+
105+
[en-US]: https://github.com/sumneko/vscode-lua-language-server/tree/master/server/locale/en-US
106+
107+
## Credit
108+
109+
* [bee.lua](https://github.com/actboy168/bee.lua)
110+
* [luamake](https://github.com/actboy168/luamake)
111+
* [lni](https://github.com/actboy168/lni)
112+
* [LPegLabel](https://github.com/sqmedeiros/lpeglabel)
113+
* [LuaParser](https://github.com/sumneko/LuaParser)
114+
* [rcedit](https://github.com/electron/rcedit)
115+
* [ScreenToGif](https://github.com/NickeManarin/ScreenToGif)
116+
* [vscode-languageclient](https://github.com/microsoft/vscode-languageserver-node)
117+
* [lua.tmbundle](https://github.com/textmate/lua.tmbundle)
118+
* [Lua 5.3 中文翻译](https://cloudwu.github.io/lua53doc/manual.html)
119+
* [EmmyLua](https://emmylua.github.io)
120+
* [lua-glob](https://github.com/sumneko/lua-glob)
121+
* [lua-uri](https://github.com/sumneko/lua-uri)
122+
* [JSON4Lua](http://github.com/craigmj/json4lua/)
123+
124+
## Acknowledgement
125+
126+
* [actboy168](https://github.com/actboy168)
127+
* [Dmitry Sannikov](https://github.com/dasannikov)
128+
* [Jayden Charbonneau](https://github.com/Reshiram110)
129+
* [Stjepan Bakrac](https://github.com/z16)
130+
* [Peter Young](https://github.com/young40)
131+
* [Li Xiaobin](https://github.com/Xiaobin0860)
132+
* [Fedora7](https://github.com/Fedora7)
133+
* [Allen Shaw](https://github.com/shuxiao9058)
134+
* [Bartel](https://github.com/Letrab)

azure-pipelines.yml

+116
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
trigger:
2+
- master
3+
4+
jobs:
5+
- job: windows
6+
pool:
7+
vmImage: 'windows-latest'
8+
9+
steps:
10+
- script: |
11+
git submodule update --init --recursive
12+
displayName: 'Init'
13+
- script: |
14+
cd 3rd\luamake
15+
tools\ninja.exe -f ninja\msvc.ninja
16+
cd ..\..
17+
displayName: 'Compile luamake'
18+
- script: |
19+
3rd\luamake\luamake.exe rebuild
20+
displayName: 'Compile'
21+
- script: |
22+
cd client
23+
npm install
24+
cd ..
25+
displayName: 'Install Client'
26+
- script: |
27+
server\Windows\bin\lua.exe server\publish.lua
28+
displayName: 'Publish'
29+
- task: CopyFiles@2
30+
inputs:
31+
Contents: '**'
32+
SourceFolder: 'publish\lua'
33+
TargetFolder: '$(Build.ArtifactStagingDirectory)'
34+
- task: PublishBuildArtifacts@1
35+
inputs:
36+
pathToPublish: $(Build.ArtifactStagingDirectory)
37+
artifactName: sumneko.lua-windows
38+
39+
- job: macos
40+
pool:
41+
vmImage: 'macos-latest'
42+
43+
steps:
44+
- bash: |
45+
git submodule update --init --recursive
46+
displayName: 'Init'
47+
- bash: |
48+
sudo xcode-select -s /Applications/Xcode_10.2.app
49+
brew install ninja
50+
displayName: 'Install'
51+
- bash: |
52+
cd 3rd/luamake
53+
ninja -f ninja/macos.ninja
54+
cd ../..
55+
displayName: 'Compile luamake'
56+
- bash: |
57+
rm -r server/macOS/*
58+
./3rd/luamake/luamake rebuild
59+
displayName: 'Compile'
60+
- bash: |
61+
cd client
62+
npm install
63+
cd ..
64+
displayName: 'Install Client'
65+
- bash: |
66+
./server/macOS/bin/lua server/publish.lua
67+
displayName: 'Publish'
68+
- task: CopyFiles@2
69+
inputs:
70+
Contents: '**'
71+
SourceFolder: 'publish/lua'
72+
TargetFolder: '$(Build.ArtifactStagingDirectory)'
73+
- task: PublishBuildArtifacts@1
74+
inputs:
75+
pathToPublish: $(Build.ArtifactStagingDirectory)
76+
artifactName: sumneko.lua-macos
77+
78+
- job: linux
79+
pool:
80+
vmImage: 'ubuntu-latest'
81+
82+
steps:
83+
- bash: |
84+
git submodule update --init --recursive
85+
displayName: 'Init'
86+
- bash: |
87+
sudo apt-get update
88+
sudo apt-get install -y libreadline-dev ninja-build
89+
sudo apt-get install -y g++-8
90+
displayName: 'Install'
91+
- bash: |
92+
cd 3rd/luamake
93+
ninja -f ninja/linux.ninja
94+
cd ../..
95+
displayName: 'Compile luamake'
96+
- bash: |
97+
rm -r server/Linux/*
98+
./3rd/luamake/luamake rebuild
99+
displayName: 'Compile'
100+
- bash: |
101+
cd client
102+
npm install
103+
cd ..
104+
displayName: 'Install Client'
105+
- bash: |
106+
./server/Linux/bin/lua server/publish.lua
107+
displayName: 'Publish'
108+
- task: CopyFiles@2
109+
inputs:
110+
Contents: '**'
111+
SourceFolder: 'publish/lua'
112+
TargetFolder: '$(Build.ArtifactStagingDirectory)'
113+
- task: PublishBuildArtifacts@1
114+
inputs:
115+
pathToPublish: $(Build.ArtifactStagingDirectory)
116+
artifactName: sumneko.lua-linux

client/out/extension.js

+60
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)