├── .gitignore ├── package.json ├── .markdownlintignore ├── .markdown-link-check.json ├── sourcemapper └── testdata │ └── sketch_july2a │ └── sketch_july2a.ino ├── .licenses └── arduino-language-server │ └── go │ ├── go.bug.st │ ├── json.dep.yml │ ├── relaxed-semver.dep.yml │ ├── lsp │ │ ├── textedits.dep.yml │ │ └── jsonrpc.dep.yml │ └── lsp.dep.yml │ ├── github.com │ ├── mattn │ │ ├── go-isatty.dep.yml │ │ └── go-colorable.dep.yml │ ├── fatih │ │ └── color.dep.yml │ └── pkg │ │ └── errors.dep.yml │ ├── golang.org │ └── x │ │ ├── net │ │ ├── http2.dep.yml │ │ ├── trace.dep.yml │ │ └── internal │ │ │ └── timeseries.dep.yml │ │ └── sys │ │ └── unix.dep.yml │ ├── google.golang.org │ └── protobuf │ │ ├── internal │ │ ├── impl.dep.yml │ │ ├── encoding │ │ │ ├── json.dep.yml │ │ │ ├── text.dep.yml │ │ │ ├── defval.dep.yml │ │ │ ├── messageset.dep.yml │ │ │ └── tag.dep.yml │ │ ├── set.dep.yml │ │ ├── errors.dep.yml │ │ ├── order.dep.yml │ │ ├── flags.dep.yml │ │ ├── descfmt.dep.yml │ │ ├── detrand.dep.yml │ │ ├── version.dep.yml │ │ ├── strs.dep.yml │ │ ├── filedesc.dep.yml │ │ ├── descopts.dep.yml │ │ ├── filetype.dep.yml │ │ ├── genid.dep.yml │ │ ├── editiondefaults.dep.yml │ │ └── pragma.dep.yml │ │ ├── proto.dep.yml │ │ ├── protoadapt.dep.yml │ │ ├── encoding │ │ ├── protowire.dep.yml │ │ ├── protojson.dep.yml │ │ └── prototext.dep.yml │ │ ├── types │ │ └── known │ │ │ ├── anypb.dep.yml │ │ │ ├── durationpb.dep.yml │ │ │ └── timestamppb.dep.yml │ │ ├── runtime │ │ ├── protoiface.dep.yml │ │ └── protoimpl.dep.yml │ │ └── reflect │ │ ├── protoreflect.dep.yml │ │ └── protoregistry.dep.yml │ └── gopkg.in │ └── yaml.v3.dep.yml ├── .github ├── dependabot.yml ├── PULL_REQUEST_TEMPLATE.md ├── ISSUE_TEMPLATE │ ├── config.yml │ ├── feature-request.yml │ └── bug-report.yml └── workflows │ ├── check-taskfiles.yml │ ├── check-markdown-task.yml │ ├── build.yml │ ├── check-license.yml │ ├── check-go-dependencies-task.yml │ └── sync-labels.yml ├── globals └── globals.go ├── streams ├── panics.go ├── streams.go └── dumper.go ├── go.mod ├── .markdownlint.yml ├── version └── version.go ├── ls ├── unused.go ├── compilation_database.go └── lsp_logger.go ├── .licensed.yml ├── main.go └── go.sum /.gitignore: -------------------------------------------------------------------------------- 1 | .old 2 | build.sh 3 | /arduino-language-server* 4 | !/arduino-language-server*/ 5 | /node_modules/ 6 | dist 7 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "devDependencies": { 3 | "ajv-cli": "^5.0.0", 4 | "ajv-formats": "^2.1.1", 5 | "markdown-link-check": "^3.11.2", 6 | "markdownlint-cli": "^0.33.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /.markdownlintignore: -------------------------------------------------------------------------------- 1 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-markdown/.markdownlintignore 2 | .licenses/ 3 | __pycache__/ 4 | node_modules/ 5 | -------------------------------------------------------------------------------- /.markdown-link-check.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpHeaders": [ 3 | { 4 | "urls": ["https://docs.github.com/"], 5 | "headers": { 6 | "Accept-Encoding": "gzip, deflate, br" 7 | } 8 | } 9 | ], 10 | "retryOn429": true, 11 | "retryCount": 3, 12 | "aliveStatusCodes": [200, 206] 13 | } 14 | -------------------------------------------------------------------------------- /sourcemapper/testdata/sketch_july2a/sketch_july2a.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #line 1 "testdata/sketch_july2a/sketch_july2a.ino" 3 | #line 1 "testdata/sketch_july2a/sketch_july2a.ino" 4 | 5 | #line 2 "testdata/sketch_july2a/sketch_july2a.ino" 6 | void setup(); 7 | #line 7 "testdata/sketch_july2a/sketch_july2a.ino" 8 | void loop(); 9 | #line 2 "testdata/sketch_july2a/sketch_july2a.ino" 10 | void setup() { 11 | // put your setup code here, to run once: 12 | 13 | } 14 | 15 | void loop() { 16 | // put your main code here, to run repeatedly: 17 | 18 | } -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/go.bug.st/json.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: go.bug.st/json 3 | version: v1.15.6 4 | type: go 5 | summary: Package json implements encoding and decoding of JSON as defined in RFC 7159. 6 | homepage: https://godoc.org/go.bug.st/json 7 | license: other 8 | licenses: 9 | - sources: LICENSE 10 | text: |2+ 11 | 12 | See: https://github.com/golang/go/blob/master/LICENSE 13 | 14 | - sources: README.md 15 | text: 'The license is the same from the Golang source code: https://github.com/golang/go/blob/master/LICENSE' 16 | notices: [] 17 | ... 18 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # See: https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#about-the-dependabotyml-file 2 | version: 2 3 | 4 | updates: 5 | # Configure check for outdated GitHub Actions actions in workflows. 6 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/dependabot/README.md 7 | # See: https://docs.github.com/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot 8 | - package-ecosystem: github-actions 9 | directory: / # Check the repository's workflows under /.github/workflows/ 10 | schedule: 11 | interval: daily 12 | labels: 13 | - "topic: infrastructure" 14 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | **Please check if the PR fulfills these requirements** 2 | 3 | - [ ] The PR has no duplicates (please search among the [Pull Requests](https://github.com/arduino/arduino-language-server/pulls) 4 | before creating one) 5 | - [ ] The PR follows [our contributing guidelines](https://github.com/arduino/arduino-language-server#pull-requests) 6 | - [ ] Tests for the changes have been added (for bug fixes / features) 7 | 8 | * **What kind of change does this PR introduce?** 9 | 10 | 11 | - **What is the current behavior?** 12 | 13 | 14 | * **What is the new behavior?** 15 | 16 | 17 | * **Other information**: 18 | 19 | 20 | --- 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/issue-templates/template-choosers/general/config.yml 2 | # See: https://docs.github.com/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser 3 | 4 | blank_issues_enabled: true 5 | contact_links: 6 | - name: Learn about using this project 7 | url: https://github.com/arduino/arduino-language-server#readme 8 | about: Detailed usage documentation is available here. 9 | - name: Support request 10 | url: https://forum.arduino.cc/ 11 | about: We can help you out on the Arduino Forum! 12 | - name: Discuss development work on the project 13 | url: https://groups.google.com/a/arduino.cc/g/developers 14 | about: Arduino Developers Mailing List 15 | -------------------------------------------------------------------------------- /globals/globals.go: -------------------------------------------------------------------------------- 1 | // This file is part of arduino-language-server. 2 | // 3 | // Copyright 2022 ARDUINO SA (http://www.arduino.cc/) 4 | // 5 | // This software is released under the GNU Affero General Public License version 3, 6 | // which covers the main part of arduino-language-server. 7 | // The terms of this license can be found at: 8 | // https://www.gnu.org/licenses/agpl-3.0.html 9 | // 10 | // You can be released from the requirements of the above licenses by purchasing 11 | // a commercial license. Buying such a license is mandatory if you want to 12 | // modify or otherwise use the software for commercial activities involving the 13 | // Arduino software without disclosing the source code of your own applications. 14 | // To purchase a commercial license, send an email to license@arduino.cc. 15 | 16 | package globals 17 | 18 | import ( 19 | "os" 20 | "path/filepath" 21 | 22 | "github.com/arduino/arduino-language-server/version" 23 | ) 24 | 25 | var ( 26 | // VersionInfo contains all info injected during build 27 | VersionInfo = version.NewInfo(filepath.Base(os.Args[0])) 28 | ) 29 | -------------------------------------------------------------------------------- /streams/panics.go: -------------------------------------------------------------------------------- 1 | // This file is part of arduino-language-server. 2 | // 3 | // Copyright 2022 ARDUINO SA (http://www.arduino.cc/) 4 | // 5 | // This software is released under the GNU Affero General Public License version 3, 6 | // which covers the main part of arduino-language-server. 7 | // The terms of this license can be found at: 8 | // https://www.gnu.org/licenses/agpl-3.0.html 9 | // 10 | // You can be released from the requirements of the above licenses by purchasing 11 | // a commercial license. Buying such a license is mandatory if you want to 12 | // modify or otherwise use the software for commercial activities involving the 13 | // Arduino software without disclosing the source code of your own applications. 14 | // To purchase a commercial license, send an email to license@arduino.cc. 15 | 16 | package streams 17 | 18 | import ( 19 | "fmt" 20 | "log" 21 | "runtime/debug" 22 | ) 23 | 24 | // CatchAndLogPanic will recover a panic, log it on standard logger, and rethrow it 25 | // to continue stack unwinding. 26 | func CatchAndLogPanic() { 27 | if r := recover(); r != nil { 28 | reason := fmt.Sprintf("%v", r) 29 | log.Println(fmt.Sprintf("Panic: %s\n\n%s", reason, string(debug.Stack()))) 30 | panic(reason) 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/arduino/arduino-language-server 2 | 3 | go 1.22.0 4 | 5 | toolchain go1.24.1 6 | 7 | require ( 8 | github.com/arduino/arduino-cli v1.0.3 9 | github.com/arduino/go-paths-helper v1.12.1 10 | github.com/fatih/color v1.17.0 11 | github.com/mattn/go-isatty v0.0.20 12 | github.com/pkg/errors v0.9.1 13 | github.com/stretchr/testify v1.9.0 14 | go.bug.st/json v1.15.6 15 | go.bug.st/lsp v0.1.3 16 | google.golang.org/grpc v1.65.0 17 | ) 18 | 19 | require ( 20 | github.com/arduino/go-properties-orderedmap v1.8.1 // indirect 21 | github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.2.0 // indirect 22 | github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect 23 | github.com/kr/pretty v0.3.1 // indirect 24 | github.com/mattn/go-colorable v0.1.13 // indirect 25 | github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect 26 | go.bug.st/relaxed-semver v0.12.0 // indirect 27 | golang.org/x/net v0.25.0 // indirect 28 | golang.org/x/sys v0.22.0 // indirect 29 | golang.org/x/text v0.16.0 // indirect 30 | google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 // indirect 31 | google.golang.org/protobuf v1.34.2 // indirect 32 | gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect 33 | gopkg.in/yaml.v3 v3.0.1 // indirect 34 | ) 35 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/github.com/mattn/go-isatty.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: github.com/mattn/go-isatty 3 | version: v0.0.20 4 | type: go 5 | summary: Package isatty implements interface to isatty 6 | homepage: https://godoc.org/github.com/mattn/go-isatty 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | Copyright (c) Yasuhiro MATSUMOTO 12 | 13 | MIT License (Expat) 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 16 | 17 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20 | - sources: README.md 21 | text: MIT 22 | notices: [] 23 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/github.com/mattn/go-colorable.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: github.com/mattn/go-colorable 3 | version: v0.1.13 4 | type: go 5 | summary: 6 | homepage: https://godoc.org/github.com/mattn/go-colorable 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | The MIT License (MIT) 12 | 13 | Copyright (c) 2016 Yasuhiro Matsumoto 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE. 32 | - sources: README.md 33 | text: MIT 34 | notices: [] 35 | -------------------------------------------------------------------------------- /streams/streams.go: -------------------------------------------------------------------------------- 1 | // This file is part of arduino-language-server. 2 | // 3 | // Copyright 2022 ARDUINO SA (http://www.arduino.cc/) 4 | // 5 | // This software is released under the GNU Affero General Public License version 3, 6 | // which covers the main part of arduino-language-server. 7 | // The terms of this license can be found at: 8 | // https://www.gnu.org/licenses/agpl-3.0.html 9 | // 10 | // You can be released from the requirements of the above licenses by purchasing 11 | // a commercial license. Buying such a license is mandatory if you want to 12 | // modify or otherwise use the software for commercial activities involving the 13 | // Arduino software without disclosing the source code of your own applications. 14 | // To purchase a commercial license, send an email to license@arduino.cc. 15 | 16 | package streams 17 | 18 | import "io" 19 | 20 | // NewReadWriteCloser create an io.ReadWriteCloser from given io.ReadCloser and io.WriteCloser. 21 | func NewReadWriteCloser(in io.ReadCloser, out io.WriteCloser) io.ReadWriteCloser { 22 | return &combinedReadWriteCloser{in, out} 23 | } 24 | 25 | type combinedReadWriteCloser struct { 26 | reader io.ReadCloser 27 | writer io.WriteCloser 28 | } 29 | 30 | func (sd *combinedReadWriteCloser) Read(p []byte) (int, error) { 31 | return sd.reader.Read(p) 32 | } 33 | 34 | func (sd *combinedReadWriteCloser) Write(p []byte) (int, error) { 35 | return sd.writer.Write(p) 36 | } 37 | 38 | func (sd *combinedReadWriteCloser) Close() error { 39 | ierr := sd.reader.Close() 40 | oerr := sd.writer.Close() 41 | if ierr != nil { 42 | return ierr 43 | } 44 | if oerr != nil { 45 | return oerr 46 | } 47 | return nil 48 | } 49 | -------------------------------------------------------------------------------- /.markdownlint.yml: -------------------------------------------------------------------------------- 1 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-markdown/.markdownlint.yml 2 | # See: https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md 3 | # The code style defined in this file is the official standardized style to be used in all Arduino projects and should 4 | # not be modified. 5 | # Note: Rules disabled solely because they are redundant to Prettier are marked with a "Prettier" comment. 6 | 7 | default: false 8 | MD001: false 9 | MD002: false 10 | MD003: false # Prettier 11 | MD004: false # Prettier 12 | MD005: false # Prettier 13 | MD006: false # Prettier 14 | MD007: false # Prettier 15 | MD008: false # Prettier 16 | MD009: 17 | br_spaces: 0 18 | strict: true 19 | list_item_empty_lines: false # Prettier 20 | MD010: false # Prettier 21 | MD011: true 22 | MD012: false # Prettier 23 | MD013: false 24 | MD014: false 25 | MD018: true 26 | MD019: false # Prettier 27 | MD020: true 28 | MD021: false # Prettier 29 | MD022: false # Prettier 30 | MD023: false # Prettier 31 | MD024: false 32 | MD025: 33 | level: 1 34 | front_matter_title: '^\s*"?title"?\s*[:=]' 35 | MD026: false 36 | MD027: false # Prettier 37 | MD028: false 38 | MD029: 39 | style: one 40 | MD030: 41 | ul_single: 1 42 | ol_single: 1 43 | ul_multi: 1 44 | ol_multi: 1 45 | MD031: false # Prettier 46 | MD032: false # Prettier 47 | MD033: false 48 | MD034: false 49 | MD035: false # Prettier 50 | MD036: false 51 | MD037: true 52 | MD038: true 53 | MD039: true 54 | MD040: false 55 | MD041: false 56 | MD042: true 57 | MD043: false 58 | MD044: false 59 | MD045: true 60 | MD046: 61 | style: fenced 62 | MD047: false # Prettier 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/github.com/fatih/color.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: github.com/fatih/color 3 | version: v1.17.0 4 | type: go 5 | summary: Package color is an ANSI color package to output colorized or SGR defined 6 | output to the standard output. 7 | homepage: https://godoc.org/github.com/fatih/color 8 | license: mit 9 | licenses: 10 | - sources: LICENSE.md 11 | text: | 12 | The MIT License (MIT) 13 | 14 | Copyright (c) 2013 Fatih Arslan 15 | 16 | Permission is hereby granted, free of charge, to any person obtaining a copy of 17 | this software and associated documentation files (the "Software"), to deal in 18 | the Software without restriction, including without limitation the rights to 19 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 20 | the Software, and to permit persons to whom the Software is furnished to do so, 21 | subject to the following conditions: 22 | 23 | The above copyright notice and this permission notice shall be included in all 24 | copies or substantial portions of the Software. 25 | 26 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 27 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 28 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 29 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 30 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 31 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 32 | - sources: README.md 33 | text: The MIT License (MIT) - see [`LICENSE.md`](https://github.com/fatih/color/blob/master/LICENSE.md) 34 | for more details 35 | notices: [] 36 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/github.com/pkg/errors.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: github.com/pkg/errors 3 | version: v0.9.1 4 | type: go 5 | summary: Package errors provides simple error handling primitives. 6 | homepage: https://godoc.org/github.com/pkg/errors 7 | license: bsd-2-clause 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | Copyright (c) 2015, Dave Cheney 12 | All rights reserved. 13 | 14 | Redistribution and use in source and binary forms, with or without 15 | modification, are permitted provided that the following conditions are met: 16 | 17 | * Redistributions of source code must retain the above copyright notice, this 18 | list of conditions and the following disclaimer. 19 | 20 | * Redistributions in binary form must reproduce the above copyright notice, 21 | this list of conditions and the following disclaimer in the documentation 22 | and/or other materials provided with the distribution. 23 | 24 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 25 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 28 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 29 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 30 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 31 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 32 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 33 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 | - sources: README.md 35 | text: BSD-2-Clause 36 | notices: [] 37 | -------------------------------------------------------------------------------- /version/version.go: -------------------------------------------------------------------------------- 1 | // This file is part of arduino-language-server. 2 | // 3 | // Copyright 2022 ARDUINO SA (http://www.arduino.cc/) 4 | // 5 | // This software is released under the GNU Affero General Public License version 3, 6 | // which covers the main part of arduino-language-server. 7 | // The terms of this license can be found at: 8 | // https://www.gnu.org/licenses/agpl-3.0.html 9 | // 10 | // You can be released from the requirements of the above licenses by purchasing 11 | // a commercial license. Buying such a license is mandatory if you want to 12 | // modify or otherwise use the software for commercial activities involving the 13 | // Arduino software without disclosing the source code of your own applications. 14 | // To purchase a commercial license, send an email to license@arduino.cc. 15 | 16 | package version 17 | 18 | import "fmt" 19 | 20 | var ( 21 | defaultVersionString = "0.0.0-git" 22 | versionString = "" 23 | commit = "" 24 | date = "" 25 | ) 26 | 27 | // Info is a struct that contains informations about the application 28 | type Info struct { 29 | Application string `json:"Application"` 30 | VersionString string `json:"VersionString"` 31 | Commit string `json:"Commit"` 32 | Date string `json:"Date"` 33 | } 34 | 35 | // NewInfo returns a pointer to an updated Info struct 36 | func NewInfo(application string) *Info { 37 | return &Info{ 38 | Application: application, 39 | VersionString: versionString, 40 | Commit: commit, 41 | Date: date, 42 | } 43 | } 44 | 45 | func (i *Info) String() string { 46 | return fmt.Sprintf("%[1]s Version: %[2]s Commit: %[3]s Date: %[4]s", i.Application, i.VersionString, i.Commit, i.Date) 47 | } 48 | 49 | //nolint:gochecknoinits 50 | func init() { 51 | if versionString == "" { 52 | versionString = defaultVersionString 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/go.bug.st/relaxed-semver.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: go.bug.st/relaxed-semver 3 | version: v0.12.0 4 | type: go 5 | summary: 6 | homepage: https://godoc.org/go.bug.st/relaxed-semver 7 | license: bsd-3-clause 8 | licenses: 9 | - sources: LICENSE 10 | text: |2+ 11 | 12 | Copyright (c) 2018-2022, Cristian Maglie. 13 | All rights reserved. 14 | 15 | Redistribution and use in source and binary forms, with or without 16 | modification, are permitted provided that the following conditions 17 | are met: 18 | 19 | 1. Redistributions of source code must retain the above copyright 20 | notice, this list of conditions and the following disclaimer. 21 | 22 | 2. Redistributions in binary form must reproduce the above copyright 23 | notice, this list of conditions and the following disclaimer in 24 | the documentation and/or other materials provided with the 25 | distribution. 26 | 27 | 3. Neither the name of the copyright holder nor the names of its 28 | contributors may be used to endorse or promote products derived 29 | from this software without specific prior written permission. 30 | 31 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 34 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 35 | COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 36 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 37 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 38 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 39 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 40 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 41 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 42 | POSSIBILITY OF SUCH DAMAGE. 43 | 44 | notices: [] 45 | ... 46 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/go.bug.st/lsp/textedits.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: go.bug.st/lsp/textedits 3 | version: v0.1.3 4 | type: go 5 | summary: 6 | homepage: https://godoc.org/go.bug.st/lsp/textedits 7 | license: bsd-3-clause 8 | licenses: 9 | - sources: lsp@v0.1.3/LICENSE 10 | text: |2+ 11 | 12 | Copyright (c) 2021, Cristian Maglie. 13 | All rights reserved. 14 | 15 | Redistribution and use in source and binary forms, with or without 16 | modification, are permitted provided that the following conditions 17 | are met: 18 | 19 | 1. Redistributions of source code must retain the above copyright 20 | notice, this list of conditions and the following disclaimer. 21 | 22 | 2. Redistributions in binary form must reproduce the above copyright 23 | notice, this list of conditions and the following disclaimer in 24 | the documentation and/or other materials provided with the 25 | distribution. 26 | 27 | 3. Neither the name of the copyright holder nor the names of its 28 | contributors may be used to endorse or promote products derived 29 | from this software without specific prior written permission. 30 | 31 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 34 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 35 | COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 36 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 37 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 38 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 39 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 40 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 41 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 42 | POSSIBILITY OF SUCH DAMAGE. 43 | 44 | notices: [] 45 | ... 46 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/go.bug.st/lsp.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: go.bug.st/lsp 3 | version: v0.1.3 4 | type: go 5 | summary: Package lsp is an implementation of a Language Server Protocol handler. 6 | homepage: https://godoc.org/go.bug.st/lsp 7 | license: bsd-3-clause 8 | licenses: 9 | - sources: LICENSE 10 | text: |2+ 11 | 12 | Copyright (c) 2021, Cristian Maglie. 13 | All rights reserved. 14 | 15 | Redistribution and use in source and binary forms, with or without 16 | modification, are permitted provided that the following conditions 17 | are met: 18 | 19 | 1. Redistributions of source code must retain the above copyright 20 | notice, this list of conditions and the following disclaimer. 21 | 22 | 2. Redistributions in binary form must reproduce the above copyright 23 | notice, this list of conditions and the following disclaimer in 24 | the documentation and/or other materials provided with the 25 | distribution. 26 | 27 | 3. Neither the name of the copyright holder nor the names of its 28 | contributors may be used to endorse or promote products derived 29 | from this software without specific prior written permission. 30 | 31 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 34 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 35 | COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 36 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 37 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 38 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 39 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 40 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 41 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 42 | POSSIBILITY OF SUCH DAMAGE. 43 | 44 | notices: [] 45 | ... 46 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/go.bug.st/lsp/jsonrpc.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: go.bug.st/lsp/jsonrpc 3 | version: v0.1.3 4 | type: go 5 | summary: Package jsonrpc is an implementation of a Language Server Protocol JSON-RPC 6 | protocol. 7 | homepage: https://godoc.org/go.bug.st/lsp/jsonrpc 8 | license: bsd-3-clause 9 | licenses: 10 | - sources: lsp@v0.1.3/LICENSE 11 | text: |2+ 12 | 13 | Copyright (c) 2021, Cristian Maglie. 14 | All rights reserved. 15 | 16 | Redistribution and use in source and binary forms, with or without 17 | modification, are permitted provided that the following conditions 18 | are met: 19 | 20 | 1. Redistributions of source code must retain the above copyright 21 | notice, this list of conditions and the following disclaimer. 22 | 23 | 2. Redistributions in binary form must reproduce the above copyright 24 | notice, this list of conditions and the following disclaimer in 25 | the documentation and/or other materials provided with the 26 | distribution. 27 | 28 | 3. Neither the name of the copyright holder nor the names of its 29 | contributors may be used to endorse or promote products derived 30 | from this software without specific prior written permission. 31 | 32 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 33 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 34 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 35 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 36 | COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 37 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 38 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 39 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 40 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 41 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 42 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 43 | POSSIBILITY OF SUCH DAMAGE. 44 | 45 | notices: [] 46 | ... 47 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature-request.yml: -------------------------------------------------------------------------------- 1 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/issue-templates/forms/platform-dependent/bug-report.yml 2 | # See: https://docs.github.com/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms 3 | 4 | name: Feature request 5 | description: Suggest an enhancement to this project. 6 | labels: 7 | - "type: enhancement" 8 | body: 9 | - type: textarea 10 | id: description 11 | attributes: 12 | label: Describe the request 13 | validations: 14 | required: true 15 | - type: textarea 16 | id: current 17 | attributes: 18 | label: Describe the current behavior 19 | description: | 20 | What is the current behavior of Arduino Language Server in relation to your request? 21 | How can we reproduce that behavior? 22 | validations: 23 | required: true 24 | - type: input 25 | id: project-version 26 | attributes: 27 | label: Arduino Language Server version 28 | description: | 29 | Which version of Arduino Language Server are you using? 30 | _This should be the most recent version available._ 31 | validations: 32 | required: true 33 | - type: input 34 | id: cli-version 35 | attributes: 36 | label: Arduino CLI version 37 | description: | 38 | Which version of Arduino CLI are you using? 39 | (output of `arduino-cli version`) 40 | validations: 41 | required: true 42 | - type: dropdown 43 | id: os 44 | attributes: 45 | label: Operating system 46 | description: Which operating system(s) are you using on your computer? 47 | multiple: true 48 | options: 49 | - Windows 50 | - Linux 51 | - macOS 52 | - N/A 53 | validations: 54 | required: true 55 | - type: input 56 | id: os-version 57 | attributes: 58 | label: Operating system version 59 | description: Which version of the operating system are you using on your computer? 60 | validations: 61 | required: true 62 | - type: textarea 63 | id: additional 64 | attributes: 65 | label: Additional context 66 | description: Add any additional information here. 67 | validations: 68 | required: false 69 | - type: checkboxes 70 | id: checklist 71 | attributes: 72 | label: Issue checklist 73 | description: Please double-check that you have done each of the following things before submitting the issue. 74 | options: 75 | - label: I searched for previous requests in [the issue tracker](https://github.com/arduino/arduino-language-server/issues?q=) 76 | required: true 77 | - label: I verified the feature was still missing when using the latest version 78 | required: true 79 | - label: My request contains all necessary details 80 | required: true 81 | -------------------------------------------------------------------------------- /ls/unused.go: -------------------------------------------------------------------------------- 1 | // This file is part of arduino-language-server. 2 | // 3 | // Copyright 2022 ARDUINO SA (http://www.arduino.cc/) 4 | // 5 | // This software is released under the GNU Affero General Public License version 3, 6 | // which covers the main part of arduino-language-server. 7 | // The terms of this license can be found at: 8 | // https://www.gnu.org/licenses/agpl-3.0.html 9 | // 10 | // You can be released from the requirements of the above licenses by purchasing 11 | // a commercial license. Buying such a license is mandatory if you want to 12 | // modify or otherwise use the software for commercial activities involving the 13 | // Arduino software without disclosing the source code of your own applications. 14 | // To purchase a commercial license, send an email to license@arduino.cc. 15 | 16 | package ls 17 | 18 | import ( 19 | "regexp" 20 | "strings" 21 | 22 | "github.com/arduino/arduino-language-server/streams" 23 | "github.com/pkg/errors" 24 | "go.bug.st/lsp" 25 | "go.bug.st/lsp/jsonrpc" 26 | ) 27 | 28 | func (ls *INOLanguageServer) handleError(logger jsonrpc.FunctionLogger, err error) error { 29 | errorStr := err.Error() 30 | var message string 31 | if strings.Contains(errorStr, "#error") { 32 | exp, regexpErr := regexp.Compile("#error \"(.*)\"") 33 | if regexpErr != nil { 34 | panic(regexpErr) 35 | } 36 | submatch := exp.FindStringSubmatch(errorStr) 37 | message = submatch[1] 38 | } else if strings.Contains(errorStr, "platform not installed") || strings.Contains(errorStr, "no FQBN provided") { 39 | if ls.config.Fqbn != "" { 40 | message = "Editor support may be inaccurate because the core for the board `" + ls.config.Fqbn + "` is not installed." 41 | message += " Use the Boards Manager to install it." 42 | } else { 43 | // This case happens most often when the app is started for the first time and no 44 | // board is selected yet. Don't bother the user with an error then. 45 | return err 46 | } 47 | } else if strings.Contains(errorStr, "No such file or directory") { 48 | exp, regexpErr := regexp.Compile(`([\w\.\-]+): No such file or directory`) 49 | if regexpErr != nil { 50 | panic(regexpErr) 51 | } 52 | submatch := exp.FindStringSubmatch(errorStr) 53 | message = "Editor support may be inaccurate because the header `" + submatch[1] + "` was not found." 54 | message += " If it is part of a library, use the Library Manager to install it." 55 | } else { 56 | message = "Could not start editor support.\n" + errorStr 57 | } 58 | go func() { 59 | defer streams.CatchAndLogPanic() 60 | ls.showMessage(logger, lsp.MessageTypeError, message) 61 | }() 62 | return errors.New(message) 63 | } 64 | 65 | func (ls *INOLanguageServer) showMessage(logger jsonrpc.FunctionLogger, msgType lsp.MessageType, message string) { 66 | params := lsp.ShowMessageParams{ 67 | Type: msgType, 68 | Message: message, 69 | } 70 | if err := ls.IDE.conn.WindowShowMessage(¶ms); err != nil { 71 | logger.Logf("error sending showMessage notification: %s", err) 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug-report.yml: -------------------------------------------------------------------------------- 1 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/issue-templates/forms/platform-dependent/bug-report.yml 2 | # See: https://docs.github.com/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms 3 | 4 | name: Bug report 5 | description: Report a problem with the code or documentation in this repository. 6 | labels: 7 | - "type: imperfection" 8 | body: 9 | - type: textarea 10 | id: description 11 | attributes: 12 | label: Describe the problem 13 | validations: 14 | required: true 15 | - type: textarea 16 | id: reproduce 17 | attributes: 18 | label: To reproduce 19 | description: Provide the specific set of steps we can follow to reproduce the problem. 20 | validations: 21 | required: true 22 | - type: textarea 23 | id: expected 24 | attributes: 25 | label: Expected behavior 26 | description: What would you expect to happen after following those instructions? 27 | validations: 28 | required: true 29 | - type: input 30 | id: project-version 31 | attributes: 32 | label: Arduino Language Server version 33 | description: | 34 | Which version of Arduino Language Server are you using? 35 | _This should be the most recent version available._ 36 | validations: 37 | required: true 38 | - type: input 39 | id: cli-version 40 | attributes: 41 | label: Arduino CLI version 42 | description: | 43 | Which version of Arduino CLI are you using? 44 | (output of `arduino-cli version`) 45 | validations: 46 | required: true 47 | - type: dropdown 48 | id: os 49 | attributes: 50 | label: Operating system 51 | description: Which operating system(s) are you using on your computer? 52 | multiple: true 53 | options: 54 | - Windows 55 | - Linux 56 | - macOS 57 | - N/A 58 | validations: 59 | required: true 60 | - type: input 61 | id: os-version 62 | attributes: 63 | label: Operating system version 64 | description: Which version of the operating system are you using on your computer? 65 | validations: 66 | required: true 67 | - type: textarea 68 | id: additional 69 | attributes: 70 | label: Additional context 71 | description: Add any additional information here. 72 | validations: 73 | required: false 74 | - type: checkboxes 75 | id: checklist 76 | attributes: 77 | label: Issue checklist 78 | description: Please double-check that you have done each of the following things before submitting the issue. 79 | options: 80 | - label: I searched for previous reports in [the issue tracker](https://github.com/arduino/arduino-language-server/issues?q=) 81 | required: true 82 | - label: I verified the problem still occurs when using the latest version 83 | required: true 84 | - label: My report contains all necessary details 85 | required: true 86 | -------------------------------------------------------------------------------- /ls/compilation_database.go: -------------------------------------------------------------------------------- 1 | // This file is part of arduino-language-server. 2 | // 3 | // Copyright 2024 ARDUINO SA (http://www.arduino.cc/) 4 | // 5 | // This software is released under the GNU Affero General Public License version 3, 6 | // which covers the main part of arduino-language-server. 7 | // The terms of this license can be found at: 8 | // https://www.gnu.org/licenses/agpl-3.0.html 9 | // 10 | // You can be released from the requirements of the above licenses by purchasing 11 | // a commercial license. Buying such a license is mandatory if you want to 12 | // modify or otherwise use the software for commercial activities involving the 13 | // Arduino software without disclosing the source code of your own applications. 14 | // To purchase a commercial license, send an email to license@arduino.cc. 15 | 16 | package ls 17 | 18 | import ( 19 | "runtime" 20 | "strings" 21 | 22 | "github.com/arduino/go-paths-helper" 23 | "go.bug.st/json" 24 | ) 25 | 26 | // compilationDatabase represents a compile_commands.json content 27 | type compilationDatabase struct { 28 | Contents []compileCommand 29 | File *paths.Path 30 | } 31 | 32 | // compileCommand keeps track of a single run of a compile command 33 | type compileCommand struct { 34 | Directory string `json:"directory"` 35 | Command string `json:"command,omitempty"` 36 | Arguments []string `json:"arguments,omitempty"` 37 | File string `json:"file"` 38 | } 39 | 40 | // loadCompilationDatabase load a compile_commands.json file into a compilationDatabase structure 41 | func loadCompilationDatabase(file *paths.Path) (*compilationDatabase, error) { 42 | f, err := file.ReadFile() 43 | if err != nil { 44 | return nil, err 45 | } 46 | res := &compilationDatabase{ 47 | File: file, 48 | Contents: []compileCommand{}, 49 | } 50 | return res, json.Unmarshal(f, &res.Contents) 51 | } 52 | 53 | // SaveToFile save the CompilationDatabase to file as a clangd-compatible compile_commands.json, 54 | // see https://clang.llvm.org/docs/JSONCompilationDatabase.html 55 | func (db *compilationDatabase) save() error { 56 | if jsonContents, err := json.MarshalIndent(db.Contents, "", " "); err != nil { 57 | return err 58 | } else if err := db.File.WriteFile(jsonContents); err != nil { 59 | return err 60 | } 61 | return nil 62 | } 63 | 64 | func canonicalizeCompileCommandsJSON(compileCommandsJSONPath *paths.Path) { 65 | // TODO: do canonicalization directly in `arduino-cli` 66 | 67 | compileCommands, err := loadCompilationDatabase(compileCommandsJSONPath) 68 | if err != nil { 69 | panic("could not find compile_commands.json") 70 | } 71 | for i, cmd := range compileCommands.Contents { 72 | if len(cmd.Arguments) == 0 { 73 | panic("invalid empty argument field in compile_commands.json") 74 | } 75 | 76 | // clangd requires full path to compiler (including extension .exe on Windows!) 77 | compilerPath := paths.New(cmd.Arguments[0]).Canonical() 78 | compiler := compilerPath.String() 79 | if runtime.GOOS == "windows" && strings.ToLower(compilerPath.Ext()) != ".exe" { 80 | compiler += ".exe" 81 | } 82 | compileCommands.Contents[i].Arguments[0] = compiler 83 | } 84 | 85 | // Save back compile_commands.json with OS native file separator and extension 86 | compileCommands.save() 87 | } 88 | -------------------------------------------------------------------------------- /streams/dumper.go: -------------------------------------------------------------------------------- 1 | // This file is part of arduino-language-server. 2 | // 3 | // Copyright 2022 ARDUINO SA (http://www.arduino.cc/) 4 | // 5 | // This software is released under the GNU Affero General Public License version 3, 6 | // which covers the main part of arduino-language-server. 7 | // The terms of this license can be found at: 8 | // https://www.gnu.org/licenses/agpl-3.0.html 9 | // 10 | // You can be released from the requirements of the above licenses by purchasing 11 | // a commercial license. Buying such a license is mandatory if you want to 12 | // modify or otherwise use the software for commercial activities involving the 13 | // Arduino software without disclosing the source code of your own applications. 14 | // To purchase a commercial license, send an email to license@arduino.cc. 15 | 16 | package streams 17 | 18 | import ( 19 | "fmt" 20 | "io" 21 | "log" 22 | "os" 23 | 24 | "github.com/arduino/go-paths-helper" 25 | ) 26 | 27 | // GlobalLogDirectory is the directory where logs are created 28 | var GlobalLogDirectory *paths.Path 29 | 30 | // LogReadWriteCloserAs return a proxy for the given upstream io.ReadWriteCloser 31 | // that forward and logs all read/write/close operations on the given filename 32 | // that is created in the GlobalLogDirectory. 33 | func LogReadWriteCloserAs(upstream io.ReadWriteCloser, filename string) io.ReadWriteCloser { 34 | return &dumper{ 35 | upstream: upstream, 36 | logfile: OpenLogFileAs(filename), 37 | } 38 | } 39 | 40 | // LogReadWriteCloserToFile return a proxy for the given upstream io.ReadWriteCloser 41 | // that forward and logs all read/write/close operations on the given file. 42 | func LogReadWriteCloserToFile(upstream io.ReadWriteCloser, file *os.File) io.ReadWriteCloser { 43 | return &dumper{ 44 | upstream: upstream, 45 | logfile: file, 46 | } 47 | } 48 | 49 | // OpenLogFileAs creates a log file in GlobalLogDirectory. 50 | func OpenLogFileAs(filename string) *os.File { 51 | path := GlobalLogDirectory.Join(filename) 52 | res, err := path.Append() 53 | if err != nil { 54 | log.Fatalf("Error opening log file: %s", err) 55 | } else { 56 | abs, _ := path.Abs() 57 | log.Printf("logging to %s", abs) 58 | } 59 | res.WriteString("\n\n\n\n\n\n\nStarted logging.\n") 60 | return res 61 | } 62 | 63 | type dumper struct { 64 | upstream io.ReadWriteCloser 65 | logfile *os.File 66 | reading bool 67 | writing bool 68 | } 69 | 70 | func (d *dumper) Read(buff []byte) (int, error) { 71 | n, err := d.upstream.Read(buff) 72 | if err != nil { 73 | d.logfile.Write([]byte(fmt.Sprintf("<<< Read Error: %s\n", err))) 74 | } else { 75 | if !d.reading { 76 | d.reading = true 77 | d.writing = false 78 | d.logfile.Write([]byte("\n<<<\n")) 79 | } 80 | d.logfile.Write(buff[:n]) 81 | } 82 | return n, err 83 | } 84 | 85 | func (d *dumper) Write(buff []byte) (int, error) { 86 | n, err := d.upstream.Write(buff) 87 | if err != nil { 88 | _, _ = d.logfile.Write([]byte(fmt.Sprintf(">>> Write Error: %s\n", err))) 89 | } else { 90 | if !d.writing { 91 | d.writing = true 92 | d.reading = false 93 | d.logfile.Write([]byte("\n>>>\n")) 94 | } 95 | _, _ = d.logfile.Write(buff[:n]) 96 | } 97 | return n, err 98 | } 99 | 100 | func (d *dumper) Close() error { 101 | err := d.upstream.Close() 102 | _, _ = d.logfile.Write([]byte(fmt.Sprintf("--- Stream closed, err=%s\n", err))) 103 | _ = d.logfile.Close() 104 | return err 105 | } 106 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/golang.org/x/net/http2.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: golang.org/x/net/http2 3 | version: v0.25.0 4 | type: go 5 | summary: Package http2 implements the HTTP/2 protocol. 6 | homepage: https://godoc.org/golang.org/x/net/http2 7 | license: other 8 | licenses: 9 | - sources: net@v0.25.0/LICENSE 10 | text: | 11 | Copyright (c) 2009 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: net@v0.25.0/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.github/workflows/check-taskfiles.yml: -------------------------------------------------------------------------------- 1 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/check-taskfiles.md 2 | name: Check Taskfiles 3 | 4 | env: 5 | # See: https://github.com/actions/setup-node/#readme 6 | NODE_VERSION: 16.x 7 | 8 | # See: https://docs.github.com/actions/using-workflows/events-that-trigger-workflows 9 | on: 10 | create: 11 | push: 12 | paths: 13 | - ".github/workflows/check-taskfiles.ya?ml" 14 | - "package.json" 15 | - "package-lock.json" 16 | - "**/Taskfile.ya?ml" 17 | - "**/DistTasks.ya?ml" 18 | pull_request: 19 | paths: 20 | - ".github/workflows/check-taskfiles.ya?ml" 21 | - "package.json" 22 | - "package-lock.json" 23 | - "**/Taskfile.ya?ml" 24 | - "**/DistTasks.ya?ml" 25 | schedule: 26 | # Run every Tuesday at 8 AM UTC to catch breakage resulting from changes to the JSON schema. 27 | - cron: "0 8 * * TUE" 28 | workflow_dispatch: 29 | repository_dispatch: 30 | 31 | jobs: 32 | run-determination: 33 | runs-on: ubuntu-latest 34 | outputs: 35 | result: ${{ steps.determination.outputs.result }} 36 | steps: 37 | - name: Determine if the rest of the workflow should run 38 | id: determination 39 | run: | 40 | RELEASE_BRANCH_REGEX="refs/heads/[0-9]+.[0-9]+.x" 41 | # The `create` event trigger doesn't support `branches` filters, so it's necessary to use Bash instead. 42 | if [[ 43 | "${{ github.event_name }}" != "create" || 44 | "${{ github.ref }}" =~ $RELEASE_BRANCH_REGEX 45 | ]]; then 46 | # Run the other jobs. 47 | RESULT="true" 48 | else 49 | # There is no need to run the other jobs. 50 | RESULT="false" 51 | fi 52 | 53 | echo "result=$RESULT" >> $GITHUB_OUTPUT 54 | 55 | validate: 56 | name: Validate ${{ matrix.file }} 57 | needs: run-determination 58 | if: needs.run-determination.outputs.result == 'true' 59 | runs-on: ubuntu-latest 60 | 61 | strategy: 62 | fail-fast: false 63 | 64 | matrix: 65 | file: 66 | - ./**/Taskfile.yml 67 | - ./**/DistTasks.yml 68 | 69 | steps: 70 | - name: Checkout repository 71 | uses: actions/checkout@v6 72 | 73 | - name: Setup Node.js 74 | uses: actions/setup-node@v6 75 | with: 76 | node-version: ${{ env.NODE_VERSION }} 77 | 78 | - name: Download JSON schema for Taskfiles 79 | id: download-schema 80 | uses: carlosperate/download-file-action@v2 81 | with: 82 | # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/taskfile.json 83 | file-url: https://taskfile.dev/schema.json 84 | location: ${{ runner.temp }}/taskfile-schema 85 | 86 | - name: Install JSON schema validator 87 | run: npm install 88 | 89 | - name: Validate ${{ matrix.file }} 90 | run: | 91 | # See: https://github.com/ajv-validator/ajv-cli#readme 92 | npx \ 93 | --package=ajv-cli \ 94 | --package=ajv-formats \ 95 | ajv validate \ 96 | --all-errors \ 97 | --strict=false \ 98 | -c ajv-formats \ 99 | -s "${{ steps.download-schema.outputs.file-path }}" \ 100 | -d "${{ matrix.file }}" 101 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/impl.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/impl 3 | version: v1.34.2 4 | type: go 5 | summary: 6 | homepage: https://godoc.org/google.golang.org/protobuf/internal/impl 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/golang.org/x/net/trace.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: golang.org/x/net/trace 3 | version: v0.25.0 4 | type: go 5 | summary: Package trace implements tracing of requests and long-lived objects. 6 | homepage: https://godoc.org/golang.org/x/net/trace 7 | license: other 8 | licenses: 9 | - sources: net@v0.25.0/LICENSE 10 | text: | 11 | Copyright (c) 2009 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: net@v0.25.0/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/golang.org/x/sys/unix.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: golang.org/x/sys/unix 3 | version: v0.22.0 4 | type: go 5 | summary: Package unix contains an interface to the low-level operating system primitives. 6 | homepage: https://godoc.org/golang.org/x/sys/unix 7 | license: other 8 | licenses: 9 | - sources: sys@v0.22.0/LICENSE 10 | text: | 11 | Copyright (c) 2009 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: sys@v0.22.0/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/encoding/json.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/encoding/json 3 | version: v1.34.2 4 | type: go 5 | summary: 6 | homepage: https://godoc.org/google.golang.org/protobuf/internal/encoding/json 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/proto.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/proto 3 | version: v1.34.2 4 | type: go 5 | summary: Package proto provides functions operating on protocol buffer messages. 6 | homepage: https://godoc.org/google.golang.org/protobuf/proto 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/golang.org/x/net/internal/timeseries.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: golang.org/x/net/internal/timeseries 3 | version: v0.25.0 4 | type: go 5 | summary: Package timeseries implements a time series structure for stats collection. 6 | homepage: https://godoc.org/golang.org/x/net/internal/timeseries 7 | license: other 8 | licenses: 9 | - sources: net@v0.25.0/LICENSE 10 | text: | 11 | Copyright (c) 2009 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: net@v0.25.0/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/protoadapt.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/protoadapt 3 | version: v1.34.2 4 | type: go 5 | summary: Package protoadapt bridges the original and new proto APIs. 6 | homepage: https://godoc.org/google.golang.org/protobuf/protoadapt 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/set.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/set 3 | version: v1.34.2 4 | type: go 5 | summary: Package set provides simple set data structures for uint64s. 6 | homepage: https://godoc.org/google.golang.org/protobuf/internal/set 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/errors.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/errors 3 | version: v1.34.2 4 | type: go 5 | summary: Package errors implements functions to manipulate errors. 6 | homepage: https://godoc.org/google.golang.org/protobuf/internal/errors 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/order.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/order 3 | version: v1.34.2 4 | type: go 5 | summary: Package order provides ordered access to messages and maps. 6 | homepage: https://godoc.org/google.golang.org/protobuf/internal/order 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/flags.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/flags 3 | version: v1.34.2 4 | type: go 5 | summary: Package flags provides a set of flags controlled by build tags. 6 | homepage: https://godoc.org/google.golang.org/protobuf/internal/flags 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/encoding/protowire.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/encoding/protowire 3 | version: v1.34.2 4 | type: go 5 | summary: Package protowire parses and formats the raw wire encoding. 6 | homepage: https://godoc.org/google.golang.org/protobuf/encoding/protowire 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/descfmt.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/descfmt 3 | version: v1.34.2 4 | type: go 5 | summary: Package descfmt provides functionality to format descriptors. 6 | homepage: https://godoc.org/google.golang.org/protobuf/internal/descfmt 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/detrand.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/detrand 3 | version: v1.34.2 4 | type: go 5 | summary: Package detrand provides deterministically random functionality. 6 | homepage: https://godoc.org/google.golang.org/protobuf/internal/detrand 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/version.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/version 3 | version: v1.34.2 4 | type: go 5 | summary: Package version records versioning information about this module. 6 | homepage: https://godoc.org/google.golang.org/protobuf/internal/version 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/strs.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/strs 3 | version: v1.34.2 4 | type: go 5 | summary: Package strs provides string manipulation functionality specific to protobuf. 6 | homepage: https://godoc.org/google.golang.org/protobuf/internal/strs 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/filedesc.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/filedesc 3 | version: v1.34.2 4 | type: go 5 | summary: Package filedesc provides functionality for constructing descriptors. 6 | homepage: https://godoc.org/google.golang.org/protobuf/internal/filedesc 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/types/known/anypb.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/types/known/anypb 3 | version: v1.34.2 4 | type: go 5 | summary: Package anypb contains generated types for google/protobuf/any.proto. 6 | homepage: https://godoc.org/google.golang.org/protobuf/types/known/anypb 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/descopts.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/descopts 3 | version: v1.34.2 4 | type: go 5 | summary: Package descopts contains the nil pointers to concrete descriptor options. 6 | homepage: https://godoc.org/google.golang.org/protobuf/internal/descopts 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/encoding/text.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/encoding/text 3 | version: v1.34.2 4 | type: go 5 | summary: Package text implements the text format for protocol buffers. 6 | homepage: https://godoc.org/google.golang.org/protobuf/internal/encoding/text 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/runtime/protoiface.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/runtime/protoiface 3 | version: v1.34.2 4 | type: go 5 | summary: Package protoiface contains types referenced or implemented by messages. 6 | homepage: https://godoc.org/google.golang.org/protobuf/runtime/protoiface 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/reflect/protoreflect 3 | version: v1.34.2 4 | type: go 5 | summary: Package protoreflect provides interfaces to dynamically manipulate messages. 6 | homepage: https://godoc.org/google.golang.org/protobuf/reflect/protoreflect 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/encoding/protojson.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/encoding/protojson 3 | version: v1.34.2 4 | type: go 5 | summary: Package protojson marshals and unmarshals protocol buffer messages as JSON 6 | format. 7 | homepage: https://godoc.org/google.golang.org/protobuf/encoding/protojson 8 | license: other 9 | licenses: 10 | - sources: protobuf@v1.34.2/LICENSE 11 | text: | 12 | Copyright (c) 2018 The Go Authors. All rights reserved. 13 | 14 | Redistribution and use in source and binary forms, with or without 15 | modification, are permitted provided that the following conditions are 16 | met: 17 | 18 | * Redistributions of source code must retain the above copyright 19 | notice, this list of conditions and the following disclaimer. 20 | * Redistributions in binary form must reproduce the above 21 | copyright notice, this list of conditions and the following disclaimer 22 | in the documentation and/or other materials provided with the 23 | distribution. 24 | * Neither the name of Google Inc. nor the names of its 25 | contributors may be used to endorse or promote products derived from 26 | this software without specific prior written permission. 27 | 28 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 29 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 31 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 32 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 33 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 34 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 35 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 36 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 37 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 38 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | - sources: protobuf@v1.34.2/PATENTS 40 | text: | 41 | Additional IP Rights Grant (Patents) 42 | 43 | "This implementation" means the copyrightable works distributed by 44 | Google as part of the Go project. 45 | 46 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 47 | no-charge, royalty-free, irrevocable (except as stated in this section) 48 | patent license to make, have made, use, offer to sell, sell, import, 49 | transfer and otherwise run, modify and propagate the contents of this 50 | implementation of Go, where such license applies only to those patent 51 | claims, both currently owned or controlled by Google and acquired in 52 | the future, licensable by Google that are necessarily infringed by this 53 | implementation of Go. This grant does not include claims that would be 54 | infringed only as a consequence of further modification of this 55 | implementation. If you or your agent or exclusive licensee institute or 56 | order or agree to the institution of patent litigation against any 57 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 58 | that this implementation of Go or any code incorporated within this 59 | implementation of Go constitutes direct or contributory patent 60 | infringement, or inducement of patent infringement, then any patent 61 | rights granted to you under this License for this implementation of Go 62 | shall terminate as of the date such litigation is filed. 63 | notices: [] 64 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/encoding/defval 3 | version: v1.34.2 4 | type: go 5 | summary: Package defval marshals and unmarshals textual forms of default values. 6 | homepage: https://godoc.org/google.golang.org/protobuf/internal/encoding/defval 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/filetype.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/filetype 3 | version: v1.34.2 4 | type: go 5 | summary: Package filetype provides functionality for wrapping descriptors with Go 6 | type information. 7 | homepage: https://godoc.org/google.golang.org/protobuf/internal/filetype 8 | license: other 9 | licenses: 10 | - sources: protobuf@v1.34.2/LICENSE 11 | text: | 12 | Copyright (c) 2018 The Go Authors. All rights reserved. 13 | 14 | Redistribution and use in source and binary forms, with or without 15 | modification, are permitted provided that the following conditions are 16 | met: 17 | 18 | * Redistributions of source code must retain the above copyright 19 | notice, this list of conditions and the following disclaimer. 20 | * Redistributions in binary form must reproduce the above 21 | copyright notice, this list of conditions and the following disclaimer 22 | in the documentation and/or other materials provided with the 23 | distribution. 24 | * Neither the name of Google Inc. nor the names of its 25 | contributors may be used to endorse or promote products derived from 26 | this software without specific prior written permission. 27 | 28 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 29 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 31 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 32 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 33 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 34 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 35 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 36 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 37 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 38 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | - sources: protobuf@v1.34.2/PATENTS 40 | text: | 41 | Additional IP Rights Grant (Patents) 42 | 43 | "This implementation" means the copyrightable works distributed by 44 | Google as part of the Go project. 45 | 46 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 47 | no-charge, royalty-free, irrevocable (except as stated in this section) 48 | patent license to make, have made, use, offer to sell, sell, import, 49 | transfer and otherwise run, modify and propagate the contents of this 50 | implementation of Go, where such license applies only to those patent 51 | claims, both currently owned or controlled by Google and acquired in 52 | the future, licensable by Google that are necessarily infringed by this 53 | implementation of Go. This grant does not include claims that would be 54 | infringed only as a consequence of further modification of this 55 | implementation. If you or your agent or exclusive licensee institute or 56 | order or agree to the institution of patent litigation against any 57 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 58 | that this implementation of Go or any code incorporated within this 59 | implementation of Go constitutes direct or contributory patent 60 | infringement, or inducement of patent infringement, then any patent 61 | rights granted to you under this License for this implementation of Go 62 | shall terminate as of the date such litigation is filed. 63 | notices: [] 64 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/genid.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/genid 3 | version: v1.34.2 4 | type: go 5 | summary: Package genid contains constants for declarations in descriptor.proto and 6 | the well-known types. 7 | homepage: https://godoc.org/google.golang.org/protobuf/internal/genid 8 | license: other 9 | licenses: 10 | - sources: protobuf@v1.34.2/LICENSE 11 | text: | 12 | Copyright (c) 2018 The Go Authors. All rights reserved. 13 | 14 | Redistribution and use in source and binary forms, with or without 15 | modification, are permitted provided that the following conditions are 16 | met: 17 | 18 | * Redistributions of source code must retain the above copyright 19 | notice, this list of conditions and the following disclaimer. 20 | * Redistributions in binary form must reproduce the above 21 | copyright notice, this list of conditions and the following disclaimer 22 | in the documentation and/or other materials provided with the 23 | distribution. 24 | * Neither the name of Google Inc. nor the names of its 25 | contributors may be used to endorse or promote products derived from 26 | this software without specific prior written permission. 27 | 28 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 29 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 31 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 32 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 33 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 34 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 35 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 36 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 37 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 38 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | - sources: protobuf@v1.34.2/PATENTS 40 | text: | 41 | Additional IP Rights Grant (Patents) 42 | 43 | "This implementation" means the copyrightable works distributed by 44 | Google as part of the Go project. 45 | 46 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 47 | no-charge, royalty-free, irrevocable (except as stated in this section) 48 | patent license to make, have made, use, offer to sell, sell, import, 49 | transfer and otherwise run, modify and propagate the contents of this 50 | implementation of Go, where such license applies only to those patent 51 | claims, both currently owned or controlled by Google and acquired in 52 | the future, licensable by Google that are necessarily infringed by this 53 | implementation of Go. This grant does not include claims that would be 54 | infringed only as a consequence of further modification of this 55 | implementation. If you or your agent or exclusive licensee institute or 56 | order or agree to the institution of patent litigation against any 57 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 58 | that this implementation of Go or any code incorporated within this 59 | implementation of Go constitutes direct or contributory patent 60 | infringement, or inducement of patent infringement, then any patent 61 | rights granted to you under this License for this implementation of Go 62 | shall terminate as of the date such litigation is filed. 63 | notices: [] 64 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/types/known/durationpb.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/types/known/durationpb 3 | version: v1.34.2 4 | type: go 5 | summary: Package durationpb contains generated types for google/protobuf/duration.proto. 6 | homepage: https://godoc.org/google.golang.org/protobuf/types/known/durationpb 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/encoding/prototext.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/encoding/prototext 3 | version: v1.34.2 4 | type: go 5 | summary: Package prototext marshals and unmarshals protocol buffer messages as the 6 | textproto format. 7 | homepage: https://godoc.org/google.golang.org/protobuf/encoding/prototext 8 | license: other 9 | licenses: 10 | - sources: protobuf@v1.34.2/LICENSE 11 | text: | 12 | Copyright (c) 2018 The Go Authors. All rights reserved. 13 | 14 | Redistribution and use in source and binary forms, with or without 15 | modification, are permitted provided that the following conditions are 16 | met: 17 | 18 | * Redistributions of source code must retain the above copyright 19 | notice, this list of conditions and the following disclaimer. 20 | * Redistributions in binary form must reproduce the above 21 | copyright notice, this list of conditions and the following disclaimer 22 | in the documentation and/or other materials provided with the 23 | distribution. 24 | * Neither the name of Google Inc. nor the names of its 25 | contributors may be used to endorse or promote products derived from 26 | this software without specific prior written permission. 27 | 28 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 29 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 31 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 32 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 33 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 34 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 35 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 36 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 37 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 38 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | - sources: protobuf@v1.34.2/PATENTS 40 | text: | 41 | Additional IP Rights Grant (Patents) 42 | 43 | "This implementation" means the copyrightable works distributed by 44 | Google as part of the Go project. 45 | 46 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 47 | no-charge, royalty-free, irrevocable (except as stated in this section) 48 | patent license to make, have made, use, offer to sell, sell, import, 49 | transfer and otherwise run, modify and propagate the contents of this 50 | implementation of Go, where such license applies only to those patent 51 | claims, both currently owned or controlled by Google and acquired in 52 | the future, licensable by Google that are necessarily infringed by this 53 | implementation of Go. This grant does not include claims that would be 54 | infringed only as a consequence of further modification of this 55 | implementation. If you or your agent or exclusive licensee institute or 56 | order or agree to the institution of patent litigation against any 57 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 58 | that this implementation of Go or any code incorporated within this 59 | implementation of Go constitutes direct or contributory patent 60 | infringement, or inducement of patent infringement, then any patent 61 | rights granted to you under this License for this implementation of Go 62 | shall terminate as of the date such litigation is filed. 63 | notices: [] 64 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/runtime/protoimpl 3 | version: v1.34.2 4 | type: go 5 | summary: Package protoimpl contains the default implementation for messages generated 6 | by protoc-gen-go. 7 | homepage: https://godoc.org/google.golang.org/protobuf/runtime/protoimpl 8 | license: other 9 | licenses: 10 | - sources: protobuf@v1.34.2/LICENSE 11 | text: | 12 | Copyright (c) 2018 The Go Authors. All rights reserved. 13 | 14 | Redistribution and use in source and binary forms, with or without 15 | modification, are permitted provided that the following conditions are 16 | met: 17 | 18 | * Redistributions of source code must retain the above copyright 19 | notice, this list of conditions and the following disclaimer. 20 | * Redistributions in binary form must reproduce the above 21 | copyright notice, this list of conditions and the following disclaimer 22 | in the documentation and/or other materials provided with the 23 | distribution. 24 | * Neither the name of Google Inc. nor the names of its 25 | contributors may be used to endorse or promote products derived from 26 | this software without specific prior written permission. 27 | 28 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 29 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 31 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 32 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 33 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 34 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 35 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 36 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 37 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 38 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | - sources: protobuf@v1.34.2/PATENTS 40 | text: | 41 | Additional IP Rights Grant (Patents) 42 | 43 | "This implementation" means the copyrightable works distributed by 44 | Google as part of the Go project. 45 | 46 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 47 | no-charge, royalty-free, irrevocable (except as stated in this section) 48 | patent license to make, have made, use, offer to sell, sell, import, 49 | transfer and otherwise run, modify and propagate the contents of this 50 | implementation of Go, where such license applies only to those patent 51 | claims, both currently owned or controlled by Google and acquired in 52 | the future, licensable by Google that are necessarily infringed by this 53 | implementation of Go. This grant does not include claims that would be 54 | infringed only as a consequence of further modification of this 55 | implementation. If you or your agent or exclusive licensee institute or 56 | order or agree to the institution of patent litigation against any 57 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 58 | that this implementation of Go or any code incorporated within this 59 | implementation of Go constitutes direct or contributory patent 60 | infringement, or inducement of patent infringement, then any patent 61 | rights granted to you under this License for this implementation of Go 62 | shall terminate as of the date such litigation is filed. 63 | notices: [] 64 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/types/known/timestamppb 3 | version: v1.34.2 4 | type: go 5 | summary: Package timestamppb contains generated types for google/protobuf/timestamp.proto. 6 | homepage: https://godoc.org/google.golang.org/protobuf/types/known/timestamppb 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.github/workflows/check-markdown-task.yml: -------------------------------------------------------------------------------- 1 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/check-markdown-task.md 2 | name: Check Markdown 3 | 4 | env: 5 | # See: https://github.com/actions/setup-node/#readme 6 | NODE_VERSION: 16.x 7 | 8 | # See: https://docs.github.com/actions/using-workflows/events-that-trigger-workflows 9 | on: 10 | create: 11 | push: 12 | paths: 13 | - ".github/workflows/check-markdown-task.ya?ml" 14 | - ".markdown-link-check.json" 15 | - "package.json" 16 | - "package-lock.json" 17 | - "Taskfile.ya?ml" 18 | - "**/.markdownlint*" 19 | - "**.mdx?" 20 | - "**.mkdn" 21 | - "**.mdown" 22 | - "**.markdown" 23 | pull_request: 24 | paths: 25 | - ".github/workflows/check-markdown-task.ya?ml" 26 | - ".markdown-link-check.json" 27 | - "package.json" 28 | - "package-lock.json" 29 | - "Taskfile.ya?ml" 30 | - "**/.markdownlint*" 31 | - "**.mdx?" 32 | - "**.mkdn" 33 | - "**.mdown" 34 | - "**.markdown" 35 | schedule: 36 | # Run every Tuesday at 8 AM UTC to catch breakage caused by external changes. 37 | - cron: "0 8 * * TUE" 38 | workflow_dispatch: 39 | repository_dispatch: 40 | 41 | jobs: 42 | run-determination: 43 | runs-on: ubuntu-latest 44 | outputs: 45 | result: ${{ steps.determination.outputs.result }} 46 | steps: 47 | - name: Determine if the rest of the workflow should run 48 | id: determination 49 | run: | 50 | RELEASE_BRANCH_REGEX="refs/heads/[0-9]+.[0-9]+.x" 51 | # The `create` event trigger doesn't support `branches` filters, so it's necessary to use Bash instead. 52 | if [[ 53 | "${{ github.event_name }}" != "create" || 54 | "${{ github.ref }}" =~ $RELEASE_BRANCH_REGEX 55 | ]]; then 56 | # Run the other jobs. 57 | RESULT="true" 58 | else 59 | # There is no need to run the other jobs. 60 | RESULT="false" 61 | fi 62 | 63 | echo "result=$RESULT" >> $GITHUB_OUTPUT 64 | 65 | lint: 66 | needs: run-determination 67 | if: needs.run-determination.outputs.result == 'true' 68 | runs-on: ubuntu-latest 69 | 70 | steps: 71 | - name: Checkout repository 72 | uses: actions/checkout@v6 73 | 74 | - name: Setup Node.js 75 | uses: actions/setup-node@v6 76 | with: 77 | node-version: ${{ env.NODE_VERSION }} 78 | 79 | - name: Initialize markdownlint-cli problem matcher 80 | uses: xt0rted/markdownlint-problem-matcher@v3 81 | 82 | - name: Install Task 83 | uses: arduino/setup-task@v2 84 | with: 85 | repo-token: ${{ secrets.GITHUB_TOKEN }} 86 | version: 3.x 87 | 88 | - name: Lint 89 | run: task markdown:lint 90 | 91 | links: 92 | needs: run-determination 93 | if: needs.run-determination.outputs.result == 'true' 94 | runs-on: ubuntu-latest 95 | 96 | steps: 97 | - name: Checkout repository 98 | uses: actions/checkout@v6 99 | 100 | - name: Setup Node.js 101 | uses: actions/setup-node@v6 102 | with: 103 | node-version: ${{ env.NODE_VERSION }} 104 | 105 | - name: Install Task 106 | uses: arduino/setup-task@v2 107 | with: 108 | repo-token: ${{ secrets.GITHUB_TOKEN }} 109 | version: 3.x 110 | 111 | - name: Check links 112 | run: task --silent markdown:check-links 113 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/editiondefaults 3 | version: v1.34.2 4 | type: go 5 | summary: Package editiondefaults contains the binary representation of the editions 6 | defaults. 7 | homepage: https://godoc.org/google.golang.org/protobuf/internal/editiondefaults 8 | license: other 9 | licenses: 10 | - sources: protobuf@v1.34.2/LICENSE 11 | text: | 12 | Copyright (c) 2018 The Go Authors. All rights reserved. 13 | 14 | Redistribution and use in source and binary forms, with or without 15 | modification, are permitted provided that the following conditions are 16 | met: 17 | 18 | * Redistributions of source code must retain the above copyright 19 | notice, this list of conditions and the following disclaimer. 20 | * Redistributions in binary form must reproduce the above 21 | copyright notice, this list of conditions and the following disclaimer 22 | in the documentation and/or other materials provided with the 23 | distribution. 24 | * Neither the name of Google Inc. nor the names of its 25 | contributors may be used to endorse or promote products derived from 26 | this software without specific prior written permission. 27 | 28 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 29 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 31 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 32 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 33 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 34 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 35 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 36 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 37 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 38 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | - sources: protobuf@v1.34.2/PATENTS 40 | text: | 41 | Additional IP Rights Grant (Patents) 42 | 43 | "This implementation" means the copyrightable works distributed by 44 | Google as part of the Go project. 45 | 46 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 47 | no-charge, royalty-free, irrevocable (except as stated in this section) 48 | patent license to make, have made, use, offer to sell, sell, import, 49 | transfer and otherwise run, modify and propagate the contents of this 50 | implementation of Go, where such license applies only to those patent 51 | claims, both currently owned or controlled by Google and acquired in 52 | the future, licensable by Google that are necessarily infringed by this 53 | implementation of Go. This grant does not include claims that would be 54 | infringed only as a consequence of further modification of this 55 | implementation. If you or your agent or exclusive licensee institute or 56 | order or agree to the institution of patent litigation against any 57 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 58 | that this implementation of Go or any code incorporated within this 59 | implementation of Go constitutes direct or contributory patent 60 | infringement, or inducement of patent infringement, then any patent 61 | rights granted to you under this License for this implementation of Go 62 | shall terminate as of the date such litigation is filed. 63 | notices: [] 64 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/encoding/messageset 3 | version: v1.34.2 4 | type: go 5 | summary: Package messageset encodes and decodes the obsolete MessageSet wire format. 6 | homepage: https://godoc.org/google.golang.org/protobuf/internal/encoding/messageset 7 | license: other 8 | licenses: 9 | - sources: protobuf@v1.34.2/LICENSE 10 | text: | 11 | Copyright (c) 2018 The Go Authors. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | - sources: protobuf@v1.34.2/PATENTS 39 | text: | 40 | Additional IP Rights Grant (Patents) 41 | 42 | "This implementation" means the copyrightable works distributed by 43 | Google as part of the Go project. 44 | 45 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 46 | no-charge, royalty-free, irrevocable (except as stated in this section) 47 | patent license to make, have made, use, offer to sell, sell, import, 48 | transfer and otherwise run, modify and propagate the contents of this 49 | implementation of Go, where such license applies only to those patent 50 | claims, both currently owned or controlled by Google and acquired in 51 | the future, licensable by Google that are necessarily infringed by this 52 | implementation of Go. This grant does not include claims that would be 53 | infringed only as a consequence of further modification of this 54 | implementation. If you or your agent or exclusive licensee institute or 55 | order or agree to the institution of patent litigation against any 56 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 57 | that this implementation of Go or any code incorporated within this 58 | implementation of Go constitutes direct or contributory patent 59 | infringement, or inducement of patent infringement, then any patent 60 | rights granted to you under this License for this implementation of Go 61 | shall terminate as of the date such litigation is filed. 62 | notices: [] 63 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/reflect/protoregistry 3 | version: v1.34.2 4 | type: go 5 | summary: Package protoregistry provides data structures to register and lookup protobuf 6 | descriptor types. 7 | homepage: https://godoc.org/google.golang.org/protobuf/reflect/protoregistry 8 | license: other 9 | licenses: 10 | - sources: protobuf@v1.34.2/LICENSE 11 | text: | 12 | Copyright (c) 2018 The Go Authors. All rights reserved. 13 | 14 | Redistribution and use in source and binary forms, with or without 15 | modification, are permitted provided that the following conditions are 16 | met: 17 | 18 | * Redistributions of source code must retain the above copyright 19 | notice, this list of conditions and the following disclaimer. 20 | * Redistributions in binary form must reproduce the above 21 | copyright notice, this list of conditions and the following disclaimer 22 | in the documentation and/or other materials provided with the 23 | distribution. 24 | * Neither the name of Google Inc. nor the names of its 25 | contributors may be used to endorse or promote products derived from 26 | this software without specific prior written permission. 27 | 28 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 29 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 31 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 32 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 33 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 34 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 35 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 36 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 37 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 38 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | - sources: protobuf@v1.34.2/PATENTS 40 | text: | 41 | Additional IP Rights Grant (Patents) 42 | 43 | "This implementation" means the copyrightable works distributed by 44 | Google as part of the Go project. 45 | 46 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 47 | no-charge, royalty-free, irrevocable (except as stated in this section) 48 | patent license to make, have made, use, offer to sell, sell, import, 49 | transfer and otherwise run, modify and propagate the contents of this 50 | implementation of Go, where such license applies only to those patent 51 | claims, both currently owned or controlled by Google and acquired in 52 | the future, licensable by Google that are necessarily infringed by this 53 | implementation of Go. This grant does not include claims that would be 54 | infringed only as a consequence of further modification of this 55 | implementation. If you or your agent or exclusive licensee institute or 56 | order or agree to the institution of patent litigation against any 57 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 58 | that this implementation of Go or any code incorporated within this 59 | implementation of Go constitutes direct or contributory patent 60 | infringement, or inducement of patent infringement, then any patent 61 | rights granted to you under this License for this implementation of Go 62 | shall terminate as of the date such litigation is filed. 63 | notices: [] 64 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/gopkg.in/yaml.v3.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: gopkg.in/yaml.v3 3 | version: v3.0.1 4 | type: go 5 | summary: Package yaml implements YAML support for the Go language. 6 | homepage: https://godoc.org/gopkg.in/yaml.v3 7 | license: other 8 | licenses: 9 | - sources: LICENSE 10 | text: |2 11 | 12 | This project is covered by two different licenses: MIT and Apache. 13 | 14 | #### MIT License #### 15 | 16 | The following files were ported to Go from C files of libyaml, and thus 17 | are still covered by their original MIT license, with the additional 18 | copyright staring in 2011 when the project was ported over: 19 | 20 | apic.go emitterc.go parserc.go readerc.go scannerc.go 21 | writerc.go yamlh.go yamlprivateh.go 22 | 23 | Copyright (c) 2006-2010 Kirill Simonov 24 | Copyright (c) 2006-2011 Kirill Simonov 25 | 26 | Permission is hereby granted, free of charge, to any person obtaining a copy of 27 | this software and associated documentation files (the "Software"), to deal in 28 | the Software without restriction, including without limitation the rights to 29 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 30 | of the Software, and to permit persons to whom the Software is furnished to do 31 | so, subject to the following conditions: 32 | 33 | The above copyright notice and this permission notice shall be included in all 34 | copies or substantial portions of the Software. 35 | 36 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 37 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 38 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 39 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 40 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 41 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 42 | SOFTWARE. 43 | 44 | ### Apache License ### 45 | 46 | All the remaining project files are covered by the Apache license: 47 | 48 | Copyright (c) 2011-2019 Canonical Ltd 49 | 50 | Licensed under the Apache License, Version 2.0 (the "License"); 51 | you may not use this file except in compliance with the License. 52 | You may obtain a copy of the License at 53 | 54 | http://www.apache.org/licenses/LICENSE-2.0 55 | 56 | Unless required by applicable law or agreed to in writing, software 57 | distributed under the License is distributed on an "AS IS" BASIS, 58 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 59 | See the License for the specific language governing permissions and 60 | limitations under the License. 61 | - sources: README.md 62 | text: |- 63 | The yaml package is licensed under the MIT and Apache License 2.0 licenses. 64 | Please see the LICENSE file for details. 65 | notices: 66 | - sources: NOTICE 67 | text: |- 68 | Copyright 2011-2016 Canonical Ltd. 69 | 70 | Licensed under the Apache License, Version 2.0 (the "License"); 71 | you may not use this file except in compliance with the License. 72 | You may obtain a copy of the License at 73 | 74 | http://www.apache.org/licenses/LICENSE-2.0 75 | 76 | Unless required by applicable law or agreed to in writing, software 77 | distributed under the License is distributed on an "AS IS" BASIS, 78 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 79 | See the License for the specific language governing permissions and 80 | limitations under the License. 81 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/pragma.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/pragma 3 | version: v1.34.2 4 | type: go 5 | summary: Package pragma provides types that can be embedded into a struct to statically 6 | enforce or prevent certain language properties. 7 | homepage: https://godoc.org/google.golang.org/protobuf/internal/pragma 8 | license: other 9 | licenses: 10 | - sources: protobuf@v1.34.2/LICENSE 11 | text: | 12 | Copyright (c) 2018 The Go Authors. All rights reserved. 13 | 14 | Redistribution and use in source and binary forms, with or without 15 | modification, are permitted provided that the following conditions are 16 | met: 17 | 18 | * Redistributions of source code must retain the above copyright 19 | notice, this list of conditions and the following disclaimer. 20 | * Redistributions in binary form must reproduce the above 21 | copyright notice, this list of conditions and the following disclaimer 22 | in the documentation and/or other materials provided with the 23 | distribution. 24 | * Neither the name of Google Inc. nor the names of its 25 | contributors may be used to endorse or promote products derived from 26 | this software without specific prior written permission. 27 | 28 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 29 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 31 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 32 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 33 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 34 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 35 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 36 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 37 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 38 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | - sources: protobuf@v1.34.2/PATENTS 40 | text: | 41 | Additional IP Rights Grant (Patents) 42 | 43 | "This implementation" means the copyrightable works distributed by 44 | Google as part of the Go project. 45 | 46 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 47 | no-charge, royalty-free, irrevocable (except as stated in this section) 48 | patent license to make, have made, use, offer to sell, sell, import, 49 | transfer and otherwise run, modify and propagate the contents of this 50 | implementation of Go, where such license applies only to those patent 51 | claims, both currently owned or controlled by Google and acquired in 52 | the future, licensable by Google that are necessarily infringed by this 53 | implementation of Go. This grant does not include claims that would be 54 | infringed only as a consequence of further modification of this 55 | implementation. If you or your agent or exclusive licensee institute or 56 | order or agree to the institution of patent litigation against any 57 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 58 | that this implementation of Go or any code incorporated within this 59 | implementation of Go constitutes direct or contributory patent 60 | infringement, or inducement of patent infringement, then any patent 61 | rights granted to you under this License for this implementation of Go 62 | shall terminate as of the date such litigation is filed. 63 | notices: [] 64 | -------------------------------------------------------------------------------- /.licenses/arduino-language-server/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: google.golang.org/protobuf/internal/encoding/tag 3 | version: v1.34.2 4 | type: go 5 | summary: Package tag marshals and unmarshals the legacy struct tags as generated by 6 | historical versions of protoc-gen-go. 7 | homepage: https://godoc.org/google.golang.org/protobuf/internal/encoding/tag 8 | license: other 9 | licenses: 10 | - sources: protobuf@v1.34.2/LICENSE 11 | text: | 12 | Copyright (c) 2018 The Go Authors. All rights reserved. 13 | 14 | Redistribution and use in source and binary forms, with or without 15 | modification, are permitted provided that the following conditions are 16 | met: 17 | 18 | * Redistributions of source code must retain the above copyright 19 | notice, this list of conditions and the following disclaimer. 20 | * Redistributions in binary form must reproduce the above 21 | copyright notice, this list of conditions and the following disclaimer 22 | in the documentation and/or other materials provided with the 23 | distribution. 24 | * Neither the name of Google Inc. nor the names of its 25 | contributors may be used to endorse or promote products derived from 26 | this software without specific prior written permission. 27 | 28 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 29 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 30 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 31 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 32 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 33 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 34 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 35 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 36 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 37 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 38 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | - sources: protobuf@v1.34.2/PATENTS 40 | text: | 41 | Additional IP Rights Grant (Patents) 42 | 43 | "This implementation" means the copyrightable works distributed by 44 | Google as part of the Go project. 45 | 46 | Google hereby grants to You a perpetual, worldwide, non-exclusive, 47 | no-charge, royalty-free, irrevocable (except as stated in this section) 48 | patent license to make, have made, use, offer to sell, sell, import, 49 | transfer and otherwise run, modify and propagate the contents of this 50 | implementation of Go, where such license applies only to those patent 51 | claims, both currently owned or controlled by Google and acquired in 52 | the future, licensable by Google that are necessarily infringed by this 53 | implementation of Go. This grant does not include claims that would be 54 | infringed only as a consequence of further modification of this 55 | implementation. If you or your agent or exclusive licensee institute or 56 | order or agree to the institution of patent litigation against any 57 | entity (including a cross-claim or counterclaim in a lawsuit) alleging 58 | that this implementation of Go or any code incorporated within this 59 | implementation of Go constitutes direct or contributory patent 60 | infringement, or inducement of patent infringement, then any patent 61 | rights granted to you under this License for this implementation of Go 62 | shall terminate as of the date such litigation is filed. 63 | notices: [] 64 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: build 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | schedule: 8 | - cron: '0 4 * * MON-FRI' # run every weekday at 4AM (https://docs.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events-schedule) 9 | workflow_dispatch: 10 | pull_request: 11 | branches: 12 | - main 13 | 14 | env: 15 | # As defined by the Taskfile's PROJECT_NAME variable 16 | PROJECT_NAME: arduino-language-server 17 | ARTIFACT_PREFIX: dist- 18 | AWS_REGION: "us-east-1" 19 | # The project's folder on Arduino's download server for uploading builds 20 | AWS_PLUGIN_TARGET: /arduino-language-server/nightly/ 21 | # As defined by the Taskfile's DIST_DIR variable 22 | DIST_DIR: dist 23 | 24 | jobs: 25 | 26 | build: 27 | env: 28 | BUILD_OUTPUT_DIRECTORY: dist 29 | EXECUTABLE_NAME: arduino-language-server 30 | strategy: 31 | matrix: 32 | config: 33 | - artifact-suffix: Linux_64bit 34 | os: ubuntu-latest 35 | ExecutableSuffix: '' 36 | Exports: '' 37 | - artifact-suffix: macOS_ARM64 38 | os: macos-latest 39 | ExecutableSuffix: '' 40 | Exports: 'CGO_ENABLED=1 MACOSX_DEPLOYMENT_TARGET=10.14 ' 41 | - artifact-suffix: Windows_64bit 42 | os: windows-2019 43 | ExecutableSuffix: '.exe' 44 | Exports: '' 45 | runs-on: ${{ matrix.config.os }} 46 | steps: 47 | - name: Checkout 48 | uses: actions/checkout@v6 49 | 50 | - name: Install Go 51 | uses: actions/setup-go@v5 52 | with: 53 | go-version: '1.22.0' 54 | 55 | - name: Build and Test 56 | run: | 57 | ${{ matrix.config.Exports }}go build -o "${{ github.workspace }}/${{ env.BUILD_OUTPUT_DIRECTORY }}/${{ runner.OS }}_amd64/${{ env.EXECUTABLE_NAME }}${{ matrix.config.ExecutableSuffix }}" 58 | go test ./... 59 | 60 | - name: Create archive 61 | run: 7z a "${{ github.workspace }}/${{ env.BUILD_OUTPUT_DIRECTORY }}/archive/${{ env.EXECUTABLE_NAME }}_${{ runner.OS }}_amd64.zip" "${{ github.workspace }}/${{ env.BUILD_OUTPUT_DIRECTORY }}/${{ runner.OS }}_amd64/*" 62 | 63 | - name: Upload Workflow Artifact [GitHub Actions] 64 | uses: actions/upload-artifact@v6 65 | with: 66 | name: ${{ env.ARTIFACT_PREFIX }}${{ matrix.config.artifact-suffix }} 67 | # this makes the artifact a .zip of the .zip archive, which is currently necessary to preserve the executable file permissions 68 | # see: https://github.com/actions/upload-artifact/issues/38 69 | path: ${{ env.BUILD_OUTPUT_DIRECTORY }}/archive/${{ env.EXECUTABLE_NAME }}_${{ runner.OS }}_amd64.zip 70 | 71 | publish: 72 | needs: build 73 | if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/main') 74 | runs-on: ubuntu-latest 75 | environment: production 76 | permissions: 77 | contents: write 78 | id-token: write # This is required for requesting the JWT 79 | steps: 80 | - name: Download Workflow Artifact [GitHub Actions] 81 | uses: actions/download-artifact@v7 82 | with: 83 | pattern: ${{ env.ARTIFACT_PREFIX }}* 84 | merge-multiple: true 85 | path: ${{ env.DIST_DIR }} 86 | 87 | - name: configure aws credentials 88 | uses: aws-actions/configure-aws-credentials@v5 89 | with: 90 | role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }} 91 | role-session-name: "github_${{ env.PROJECT_NAME }}" 92 | aws-region: ${{ env.AWS_REGION }} 93 | 94 | - name: Upload release files on Arduino downloads servers 95 | run: aws s3 sync ${{ env.DIST_DIR }} s3://${{ secrets.DOWNLOADS_BUCKET }}${{ env.AWS_PLUGIN_TARGET }} 96 | -------------------------------------------------------------------------------- /.github/workflows/check-license.yml: -------------------------------------------------------------------------------- 1 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/check-license.md 2 | name: Check License 3 | 4 | env: 5 | EXPECTED_LICENSE_FILENAME: LICENSE.txt 6 | # SPDX identifier: https://spdx.org/licenses/ 7 | EXPECTED_LICENSE_TYPE: AGPL-3.0 8 | 9 | # See: https://docs.github.com/actions/using-workflows/events-that-trigger-workflows 10 | on: 11 | create: 12 | push: 13 | paths: 14 | - ".github/workflows/check-license.ya?ml" 15 | # See: https://github.com/licensee/licensee/blob/master/docs/what-we-look-at.md#detecting-the-license-file 16 | - "[cC][oO][pP][yY][iI][nN][gG]*" 17 | - "[cC][oO][pP][yY][rR][iI][gG][hH][tH]*" 18 | - "[lL][iI][cC][eE][nN][cCsS][eE]*" 19 | - "[oO][fF][lL]*" 20 | - "[pP][aA][tT][eE][nN][tT][sS]*" 21 | pull_request: 22 | paths: 23 | - ".github/workflows/check-license.ya?ml" 24 | - "[cC][oO][pP][yY][iI][nN][gG]*" 25 | - "[cC][oO][pP][yY][rR][iI][gG][hH][tH]*" 26 | - "[lL][iI][cC][eE][nN][cCsS][eE]*" 27 | - "[oO][fF][lL]*" 28 | - "[pP][aA][tT][eE][nN][tT][sS]*" 29 | schedule: 30 | # Run periodically to catch breakage caused by external changes. 31 | - cron: "0 6 * * WED" 32 | workflow_dispatch: 33 | repository_dispatch: 34 | 35 | jobs: 36 | run-determination: 37 | runs-on: ubuntu-latest 38 | outputs: 39 | result: ${{ steps.determination.outputs.result }} 40 | steps: 41 | - name: Determine if the rest of the workflow should run 42 | id: determination 43 | run: | 44 | RELEASE_BRANCH_REGEX="refs/heads/[0-9]+.[0-9]+.x" 45 | # The `create` event trigger doesn't support `branches` filters, so it's necessary to use Bash instead. 46 | if [[ 47 | "${{ github.event_name }}" != "create" || 48 | "${{ github.ref }}" =~ $RELEASE_BRANCH_REGEX 49 | ]]; then 50 | # Run the other jobs. 51 | RESULT="true" 52 | else 53 | # There is no need to run the other jobs. 54 | RESULT="false" 55 | fi 56 | 57 | echo "result=$RESULT" >> $GITHUB_OUTPUT 58 | 59 | check-license: 60 | needs: run-determination 61 | if: needs.run-determination.outputs.result == 'true' 62 | runs-on: ubuntu-latest 63 | 64 | steps: 65 | - name: Checkout repository 66 | uses: actions/checkout@v6 67 | 68 | - name: Install Ruby 69 | uses: ruby/setup-ruby@v1 70 | with: 71 | ruby-version: ruby # Install latest version 72 | 73 | - name: Install licensee 74 | run: gem install licensee 75 | 76 | - name: Check license file 77 | run: | 78 | EXIT_STATUS=0 79 | # See: https://github.com/licensee/licensee 80 | LICENSEE_OUTPUT="$(licensee detect --json --confidence=100)" 81 | 82 | DETECTED_LICENSE_FILE="$(echo "$LICENSEE_OUTPUT" | jq .matched_files[0].filename | tr --delete '\r')" 83 | echo "Detected license file: $DETECTED_LICENSE_FILE" 84 | if [ "$DETECTED_LICENSE_FILE" != "\"${EXPECTED_LICENSE_FILENAME}\"" ]; then 85 | echo "::error file=${DETECTED_LICENSE_FILE}::detected license file $DETECTED_LICENSE_FILE doesn't match expected: $EXPECTED_LICENSE_FILENAME" 86 | EXIT_STATUS=1 87 | fi 88 | 89 | DETECTED_LICENSE_TYPE="$(echo "$LICENSEE_OUTPUT" | jq .matched_files[0].matched_license | tr --delete '\r')" 90 | echo "Detected license type: $DETECTED_LICENSE_TYPE" 91 | if [ "$DETECTED_LICENSE_TYPE" != "\"${EXPECTED_LICENSE_TYPE}\"" ]; then 92 | echo "::error file=${DETECTED_LICENSE_FILE}::detected license type $DETECTED_LICENSE_TYPE doesn't match expected \"${EXPECTED_LICENSE_TYPE}\"" 93 | EXIT_STATUS=1 94 | fi 95 | 96 | exit $EXIT_STATUS 97 | -------------------------------------------------------------------------------- /.licensed.yml: -------------------------------------------------------------------------------- 1 | # See: https://github.com/github/licensed/blob/master/docs/configuration.md 2 | sources: 3 | go: true 4 | 5 | apps: 6 | - source_path: ./ 7 | 8 | reviewed: 9 | go: 10 | - github.com/ProtonMail/go-crypto/bitcurves 11 | - github.com/arduino/go-paths-helper 12 | - github.com/arduino/go-properties-orderedmap 13 | - go.bug.st/json 14 | - golang.org/x/net/http2 15 | - google.golang.org/protobuf 16 | - golang.org/x/net/http2 17 | - golang.org/x/net/internal/timeseries 18 | - golang.org/x/net/trace 19 | - golang.org/x/sys/unix 20 | - google.golang.org/protobuf/encoding/protojson 21 | - google.golang.org/protobuf/encoding/prototext 22 | - google.golang.org/protobuf/encoding/protowire 23 | - google.golang.org/protobuf/internal/descfmt 24 | - google.golang.org/protobuf/internal/descopts 25 | - google.golang.org/protobuf/internal/detrand 26 | - google.golang.org/protobuf/internal/editiondefaults 27 | - google.golang.org/protobuf/internal/encoding/defval 28 | - google.golang.org/protobuf/internal/encoding/json 29 | - google.golang.org/protobuf/internal/encoding/messageset 30 | - google.golang.org/protobuf/internal/encoding/tag 31 | - google.golang.org/protobuf/internal/encoding/text 32 | - google.golang.org/protobuf/internal/errors 33 | - google.golang.org/protobuf/internal/filedesc 34 | - google.golang.org/protobuf/internal/filetype 35 | - google.golang.org/protobuf/internal/flags 36 | - google.golang.org/protobuf/internal/genid 37 | - google.golang.org/protobuf/internal/impl 38 | - google.golang.org/protobuf/internal/order 39 | - google.golang.org/protobuf/internal/pragma 40 | - google.golang.org/protobuf/internal/set 41 | - google.golang.org/protobuf/internal/strs 42 | - google.golang.org/protobuf/internal/version 43 | - google.golang.org/protobuf/proto 44 | - google.golang.org/protobuf/protoadapt 45 | - google.golang.org/protobuf/reflect/protoreflect 46 | - google.golang.org/protobuf/reflect/protoregistry 47 | - google.golang.org/protobuf/runtime/protoiface 48 | - google.golang.org/protobuf/runtime/protoimpl 49 | - google.golang.org/protobuf/types/known/anypb 50 | - google.golang.org/protobuf/types/known/durationpb 51 | - google.golang.org/protobuf/types/known/timestamppb 52 | 53 | 54 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-dependencies/AGPL-3.0/.licensed.yml 55 | allowed: 56 | # The following are based on: https://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses 57 | - gpl-1.0-or-later 58 | - gpl-1.0+ # Deprecated ID for `gpl-1.0-or-later` 59 | - gpl-2.0-or-later 60 | - gpl-2.0+ # Deprecated ID for `gpl-2.0-or-later` 61 | - gpl-3.0-only 62 | - gpl-3.0 # Deprecated ID for `gpl-3.0-only` 63 | - gpl-3.0-or-later 64 | - gpl-3.0+ # Deprecated ID for `gpl-3.0-or-later` 65 | - lgpl-2.0-or-later 66 | - lgpl-2.0+ # Deprecated ID for `lgpl-2.0-or-later` 67 | - lgpl-2.1-only 68 | - lgpl-2.1 # Deprecated ID for `lgpl-2.1-only` 69 | - lgpl-2.1-or-later 70 | - lgpl-2.1+ # Deprecated ID for `lgpl-2.1-or-later` 71 | - lgpl-3.0-only 72 | - lgpl-3.0 # Deprecated ID for `lgpl-3.0-only` 73 | - lgpl-3.0-or-later 74 | - lgpl-3.0+ # Deprecated ID for `lgpl-3.0-or-later` 75 | - agpl-1.0-or-later 76 | - agpl-3.0-only 77 | - agpl-3.0 # Deprecated ID for `agpl-3.0-only` 78 | - agpl-3.0-or-later 79 | - fsfap 80 | - apache-2.0 81 | - artistic-2.0 82 | - clartistic 83 | - sleepycat 84 | - bsl-1.0 85 | - bsd-3-clause 86 | - cecill-2.0 87 | - bsd-3-clause-clear 88 | # "Cryptix General License" - no SPDX ID (https://github.com/spdx/license-list-XML/issues/456) 89 | - ecos-2.0 90 | - ecl-2.0 91 | - efl-2.0 92 | - eudatagrid 93 | - mit 94 | - bsd-2-clause # Subsumed by `bsd-2-clause-views` 95 | - bsd-2-clause-netbsd # Deprecated ID for `bsd-2-clause` 96 | - bsd-2-clause-views # This is the version linked from https://www.gnu.org/licenses/license-list.html#FreeBSD 97 | - bsd-2-clause-freebsd # Deprecated ID for `bsd-2-clause-views` 98 | - ftl 99 | - hpnd 100 | - imatix 101 | - imlib2 102 | - ijg 103 | # "Informal license" - this is a general class of license 104 | - intel 105 | - isc 106 | - mpl-2.0 107 | - ncsa 108 | # "License of Netscape JavaScript" - no SPDX ID 109 | - oldap-2.7 110 | # "License of Perl 5 and below" - possibly `Artistic-1.0-Perl` ? 111 | - cc0-1.0 112 | - cc-pddc 113 | - psf-2.0 114 | - ruby 115 | - sgi-b-2.0 116 | - smlnj 117 | - standardml-nj # Deprecated ID for `smlnj` 118 | - unicode-dfs-2015 119 | - upl-1.0 120 | - unlicense 121 | - vim 122 | - w3c 123 | - wtfpl 124 | - lgpl-2.0-or-later with wxwindows-exception-3.1 125 | - wxwindows # Deprecated ID for `lgpl-2.0-or-later with wxwindows-exception-3.1` 126 | - x11 127 | - xfree86-1.1 128 | - zlib 129 | - zpl-2.0 130 | - zpl-2.1 131 | # The following are based on individual license text 132 | - eupl-1.2 133 | -------------------------------------------------------------------------------- /ls/lsp_logger.go: -------------------------------------------------------------------------------- 1 | // This file is part of arduino-language-server. 2 | // 3 | // Copyright 2022 ARDUINO SA (http://www.arduino.cc/) 4 | // 5 | // This software is released under the GNU Affero General Public License version 3, 6 | // which covers the main part of arduino-language-server. 7 | // The terms of this license can be found at: 8 | // https://www.gnu.org/licenses/agpl-3.0.html 9 | // 10 | // You can be released from the requirements of the above licenses by purchasing 11 | // a commercial license. Buying such a license is mandatory if you want to 12 | // modify or otherwise use the software for commercial activities involving the 13 | // Arduino software without disclosing the source code of your own applications. 14 | // To purchase a commercial license, send an email to license@arduino.cc. 15 | 16 | package ls 17 | 18 | import ( 19 | "fmt" 20 | "log" 21 | "time" 22 | 23 | "github.com/fatih/color" 24 | "go.bug.st/json" 25 | "go.bug.st/lsp/jsonrpc" 26 | ) 27 | 28 | // Logger is a lsp logger 29 | type Logger struct { 30 | IncomingPrefix, OutgoingPrefix string 31 | HiColor, LoColor func(format string, a ...interface{}) string 32 | ErrorColor func(format string, a ...interface{}) string 33 | } 34 | 35 | func init() { 36 | log.SetFlags(log.Lmicroseconds) 37 | } 38 | 39 | // LogOutgoingRequest prints an outgoing request into the log 40 | func (l *Logger) LogOutgoingRequest(id string, method string, params json.RawMessage) { 41 | log.Print(l.HiColor("%s REQU %s %s", l.OutgoingPrefix, method, id)) 42 | } 43 | 44 | // LogOutgoingCancelRequest prints an outgoing cancel request into the log 45 | func (l *Logger) LogOutgoingCancelRequest(id string) { 46 | log.Print(l.LoColor("%s CANCEL %s", l.OutgoingPrefix, id)) 47 | } 48 | 49 | // LogIncomingResponse prints an incoming response into the log if there is no error 50 | func (l *Logger) LogIncomingResponse(id string, method string, resp json.RawMessage, respErr *jsonrpc.ResponseError) { 51 | e := "" 52 | if respErr != nil { 53 | e = l.ErrorColor(" ERROR: %s", respErr.AsError()) 54 | } 55 | log.Print(l.LoColor("%s RESP %s %s%s", l.IncomingPrefix, method, id, e)) 56 | } 57 | 58 | // LogOutgoingNotification prints an outgoing notification into the log 59 | func (l *Logger) LogOutgoingNotification(method string, params json.RawMessage) { 60 | log.Print(l.HiColor("%s NOTIF %s", l.OutgoingPrefix, method)) 61 | } 62 | 63 | // LogIncomingRequest prints an incoming request into the log 64 | func (l *Logger) LogIncomingRequest(id string, method string, params json.RawMessage) jsonrpc.FunctionLogger { 65 | spaces := " " 66 | log.Print(l.HiColor(fmt.Sprintf("%s REQU %s %s", l.IncomingPrefix, method, id))) 67 | return &FunctionLogger{ 68 | colorFunc: l.HiColor, 69 | prefix: fmt.Sprintf("%s %s %s", spaces[:len(l.IncomingPrefix)], method, id), 70 | } 71 | } 72 | 73 | // LogIncomingCancelRequest prints an incoming cancel request into the log 74 | func (l *Logger) LogIncomingCancelRequest(id string) { 75 | log.Print(l.LoColor("%s CANCEL %s", l.IncomingPrefix, id)) 76 | } 77 | 78 | // LogOutgoingResponse prints an outgoing response into the log if there is no error 79 | func (l *Logger) LogOutgoingResponse(id string, method string, resp json.RawMessage, respErr *jsonrpc.ResponseError) { 80 | e := "" 81 | if respErr != nil { 82 | e = l.ErrorColor(" ERROR: %s", respErr.AsError()) 83 | } 84 | log.Print(l.LoColor("%s RESP %s %s%s", l.OutgoingPrefix, method, id, e)) 85 | } 86 | 87 | // LogIncomingNotification prints an incoming notification into the log 88 | func (l *Logger) LogIncomingNotification(method string, params json.RawMessage) jsonrpc.FunctionLogger { 89 | spaces := " " 90 | log.Print(l.HiColor(fmt.Sprintf("%s NOTIF %s", l.IncomingPrefix, method))) 91 | return &FunctionLogger{ 92 | colorFunc: l.HiColor, 93 | prefix: fmt.Sprintf("%s %s", spaces[:len(l.IncomingPrefix)], method), 94 | } 95 | } 96 | 97 | // LogIncomingDataDelay prints the delay of incoming data into the log 98 | func (l *Logger) LogIncomingDataDelay(delay time.Duration) { 99 | log.Printf("IN Elapsed: %v", delay) 100 | } 101 | 102 | // LogOutgoingDataDelay prints the delay of outgoing data into the log 103 | func (l *Logger) LogOutgoingDataDelay(delay time.Duration) { 104 | log.Printf("OUT Elapsed: %v", delay) 105 | } 106 | 107 | // FunctionLogger is a lsp function logger 108 | type FunctionLogger struct { 109 | colorFunc func(format string, a ...interface{}) string 110 | prefix string 111 | } 112 | 113 | // NewLSPFunctionLogger creates a new function logger 114 | func NewLSPFunctionLogger(colofFunction func(format string, a ...interface{}) string, prefix string) *FunctionLogger { 115 | color.NoColor = false 116 | return &FunctionLogger{ 117 | colorFunc: colofFunction, 118 | prefix: prefix, 119 | } 120 | } 121 | 122 | // Logf logs the given message 123 | func (l *FunctionLogger) Logf(format string, a ...interface{}) { 124 | log.Print(l.colorFunc(l.prefix+": "+format, a...)) 125 | } 126 | -------------------------------------------------------------------------------- /.github/workflows/check-go-dependencies-task.yml: -------------------------------------------------------------------------------- 1 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/check-go-dependencies-task.md 2 | name: Check Go Dependencies 3 | 4 | env: 5 | # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax 6 | GO_VERSION: "1.22.0" 7 | 8 | # See: https://docs.github.com/actions/using-workflows/events-that-trigger-workflows 9 | on: 10 | create: 11 | push: 12 | paths: 13 | - ".github/workflows/check-go-dependencies-task.ya?ml" 14 | - ".licenses/**" 15 | - ".licensed.json" 16 | - ".licensed.ya?ml" 17 | - "Taskfile.ya?ml" 18 | - "**/.gitmodules" 19 | - "**/go.mod" 20 | - "**/go.sum" 21 | pull_request: 22 | paths: 23 | - ".github/workflows/check-go-dependencies-task.ya?ml" 24 | - ".licenses/**" 25 | - ".licensed.json" 26 | - ".licensed.ya?ml" 27 | - "Taskfile.ya?ml" 28 | - "**/.gitmodules" 29 | - "**/go.mod" 30 | - "**/go.sum" 31 | schedule: 32 | # Run periodically to catch breakage caused by external changes. 33 | - cron: "0 8 * * WED" 34 | workflow_dispatch: 35 | repository_dispatch: 36 | 37 | jobs: 38 | run-determination: 39 | runs-on: ubuntu-latest 40 | outputs: 41 | result: ${{ steps.determination.outputs.result }} 42 | steps: 43 | - name: Determine if the rest of the workflow should run 44 | id: determination 45 | run: | 46 | RELEASE_BRANCH_REGEX="refs/heads/[0-9]+.[0-9]+.x" 47 | # The `create` event trigger doesn't support `branches` filters, so it's necessary to use Bash instead. 48 | if [[ 49 | "${{ github.event_name }}" != "create" || 50 | "${{ github.ref }}" =~ $RELEASE_BRANCH_REGEX 51 | ]]; then 52 | # Run the other jobs. 53 | RESULT="true" 54 | else 55 | # There is no need to run the other jobs. 56 | RESULT="false" 57 | fi 58 | 59 | echo "result=$RESULT" >> $GITHUB_OUTPUT 60 | 61 | check-cache: 62 | needs: run-determination 63 | if: needs.run-determination.outputs.result == 'true' 64 | runs-on: ubuntu-latest 65 | 66 | steps: 67 | - name: Checkout repository 68 | uses: actions/checkout@v6 69 | with: 70 | submodules: recursive 71 | 72 | # This is required to allow jonabc/setup-licensed to install licensed via Ruby gem. 73 | - name: Install Ruby 74 | uses: ruby/setup-ruby@v1 75 | with: 76 | ruby-version: ruby # Install latest version 77 | 78 | - name: Install licensed 79 | uses: jonabc/setup-licensed@v1 80 | with: 81 | github_token: ${{ secrets.GITHUB_TOKEN }} 82 | version: 3.x 83 | 84 | - name: Install Go 85 | uses: actions/setup-go@v5 86 | with: 87 | go-version: ${{ env.GO_VERSION }} 88 | 89 | - name: Install Task 90 | uses: arduino/setup-task@v2 91 | with: 92 | repo-token: ${{ secrets.GITHUB_TOKEN }} 93 | version: 3.x 94 | 95 | - name: Update dependencies license metadata cache 96 | run: task --silent general:cache-dep-licenses 97 | 98 | - name: Check for outdated cache 99 | id: diff 100 | run: | 101 | git add . 102 | if ! git diff --cached --color --exit-code; then 103 | echo 104 | echo "::error::Dependency license metadata out of sync. See: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/check-go-dependencies-task.md#metadata-cache" 105 | exit 1 106 | fi 107 | 108 | # Some might find it convenient to have CI generate the cache rather than setting up for it locally 109 | - name: Upload cache to workflow artifact 110 | if: failure() && steps.diff.outcome == 'failure' 111 | uses: actions/upload-artifact@v6 112 | with: 113 | if-no-files-found: error 114 | include-hidden-files: true 115 | name: dep-licenses-cache 116 | path: .licenses/ 117 | 118 | check-deps: 119 | needs: run-determination 120 | if: needs.run-determination.outputs.result == 'true' 121 | runs-on: ubuntu-latest 122 | 123 | steps: 124 | - name: Checkout repository 125 | uses: actions/checkout@v6 126 | with: 127 | submodules: recursive 128 | 129 | # This is required to allow jonabc/setup-licensed to install licensed via Ruby gem. 130 | - name: Install Ruby 131 | uses: ruby/setup-ruby@v1 132 | with: 133 | ruby-version: ruby # Install latest version 134 | 135 | - name: Install licensed 136 | uses: jonabc/setup-licensed@v1 137 | with: 138 | github_token: ${{ secrets.GITHUB_TOKEN }} 139 | version: 3.x 140 | 141 | - name: Install Go 142 | uses: actions/setup-go@v5 143 | with: 144 | go-version: ${{ env.GO_VERSION }} 145 | 146 | - name: Install Task 147 | uses: arduino/setup-task@v2 148 | with: 149 | repo-token: ${{ secrets.GITHUB_TOKEN }} 150 | version: 3.x 151 | 152 | - name: Check for dependencies with unapproved licenses 153 | run: task --silent general:check-dep-licenses 154 | -------------------------------------------------------------------------------- /.github/workflows/sync-labels.yml: -------------------------------------------------------------------------------- 1 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/sync-labels.md 2 | name: Sync Labels 3 | 4 | # See: https://docs.github.com/actions/using-workflows/events-that-trigger-workflows 5 | on: 6 | push: 7 | paths: 8 | - ".github/workflows/sync-labels.ya?ml" 9 | - ".github/label-configuration-files/*.ya?ml" 10 | pull_request: 11 | paths: 12 | - ".github/workflows/sync-labels.ya?ml" 13 | - ".github/label-configuration-files/*.ya?ml" 14 | schedule: 15 | # Run daily at 8 AM UTC to sync with changes to shared label configurations. 16 | - cron: "0 8 * * *" 17 | workflow_dispatch: 18 | repository_dispatch: 19 | 20 | env: 21 | CONFIGURATIONS_FOLDER: .github/label-configuration-files 22 | CONFIGURATIONS_ARTIFACT_PREFIX: label-configuration-file- 23 | 24 | jobs: 25 | check: 26 | runs-on: ubuntu-latest 27 | 28 | steps: 29 | - name: Checkout repository 30 | uses: actions/checkout@v6 31 | 32 | - name: Download JSON schema for labels configuration file 33 | id: download-schema 34 | uses: carlosperate/download-file-action@v2 35 | with: 36 | file-url: https://raw.githubusercontent.com/arduino/tooling-project-assets/main/workflow-templates/assets/sync-labels/arduino-tooling-gh-label-configuration-schema.json 37 | location: ${{ runner.temp }}/label-configuration-schema 38 | 39 | - name: Install JSON schema validator 40 | run: | 41 | sudo npm install \ 42 | --global \ 43 | ajv-cli \ 44 | ajv-formats 45 | 46 | - name: Validate local labels configuration 47 | run: | 48 | # See: https://github.com/ajv-validator/ajv-cli#readme 49 | ajv validate \ 50 | --all-errors \ 51 | -c ajv-formats \ 52 | -s "${{ steps.download-schema.outputs.file-path }}" \ 53 | -d "${{ env.CONFIGURATIONS_FOLDER }}/*.{yml,yaml}" 54 | 55 | download: 56 | needs: check 57 | runs-on: ubuntu-latest 58 | 59 | strategy: 60 | matrix: 61 | filename: 62 | # Filenames of the shared configurations to apply to the repository in addition to the local configuration. 63 | # https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/sync-labels 64 | - universal.yml 65 | - tooling.yml 66 | 67 | steps: 68 | - name: Download 69 | uses: carlosperate/download-file-action@v2 70 | with: 71 | file-url: https://raw.githubusercontent.com/arduino/tooling-project-assets/main/workflow-templates/assets/sync-labels/${{ matrix.filename }} 72 | 73 | - name: Pass configuration files to next job via workflow artifact 74 | uses: actions/upload-artifact@v6 75 | with: 76 | path: | 77 | *.yaml 78 | *.yml 79 | if-no-files-found: error 80 | name: ${{ env.CONFIGURATIONS_ARTIFACT_PREFIX }}${{ matrix.filename }} 81 | 82 | sync: 83 | needs: download 84 | runs-on: ubuntu-latest 85 | 86 | steps: 87 | - name: Set environment variables 88 | run: | 89 | # See: https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#setting-an-environment-variable 90 | echo "MERGED_CONFIGURATION_PATH=${{ runner.temp }}/labels.yml" >> "$GITHUB_ENV" 91 | 92 | - name: Determine whether to dry run 93 | id: dry-run 94 | if: > 95 | github.event_name == 'pull_request' || 96 | ( 97 | ( 98 | github.event_name == 'push' || 99 | github.event_name == 'workflow_dispatch' 100 | ) && 101 | github.ref != format('refs/heads/{0}', github.event.repository.default_branch) 102 | ) 103 | run: | 104 | # Use of this flag in the github-label-sync command will cause it to only check the validity of the 105 | # configuration. 106 | echo "flag=--dry-run" >> $GITHUB_OUTPUT 107 | 108 | - name: Checkout repository 109 | uses: actions/checkout@v6 110 | 111 | - name: Download configuration file artifacts 112 | uses: actions/download-artifact@v7 113 | with: 114 | merge-multiple: true 115 | pattern: ${{ env.CONFIGURATIONS_ARTIFACT_PREFIX }}* 116 | path: ${{ env.CONFIGURATIONS_FOLDER }} 117 | 118 | - name: Remove unneeded artifacts 119 | uses: geekyeggo/delete-artifact@v5 120 | with: 121 | name: ${{ env.CONFIGURATIONS_ARTIFACT_PREFIX }}* 122 | 123 | - name: Merge label configuration files 124 | run: | 125 | # Merge all configuration files 126 | shopt -s extglob 127 | cat "${{ env.CONFIGURATIONS_FOLDER }}"/*.@(yml|yaml) > "${{ env.MERGED_CONFIGURATION_PATH }}" 128 | 129 | - name: Install github-label-sync 130 | run: sudo npm install --global github-label-sync 131 | 132 | - name: Sync labels 133 | env: 134 | GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} 135 | run: | 136 | # See: https://github.com/Financial-Times/github-label-sync 137 | github-label-sync \ 138 | --labels "${{ env.MERGED_CONFIGURATION_PATH }}" \ 139 | ${{ steps.dry-run.outputs.flag }} \ 140 | ${{ github.repository }} 141 | -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "flag" 5 | "fmt" 6 | "io" 7 | "log" 8 | "net/http" 9 | _ "net/http/pprof" 10 | "os" 11 | "os/exec" 12 | "os/signal" 13 | "os/user" 14 | "path" 15 | "strings" 16 | 17 | "github.com/arduino/arduino-language-server/ls" 18 | "github.com/arduino/arduino-language-server/streams" 19 | "github.com/arduino/go-paths-helper" 20 | "github.com/mattn/go-isatty" 21 | ) 22 | 23 | func main() { 24 | if len(os.Args) > 1 && os.Args[1] == "remove-temp-files" { 25 | for _, tmpFile := range os.Args[2:] { 26 | // SAFETY CHECK 27 | if !strings.Contains(tmpFile, "arduino-language-server") { 28 | fmt.Println("Could not remove extraneous temp folder:", tmpFile) 29 | os.Exit(1) 30 | } 31 | 32 | paths.New(tmpFile).RemoveAll() 33 | } 34 | return 35 | } 36 | 37 | clangdPath := flag.String( 38 | "clangd", "", 39 | "Path to clangd executable") 40 | cliPath := flag.String( 41 | "cli", "", 42 | "Path to arduino-cli executable") 43 | cliConfigPath := flag.String( 44 | "cli-config", "", 45 | "Path to arduino-cli config file") 46 | fqbn := flag.String( 47 | "fqbn", "", 48 | "Fully qualified board name to use initially (can be changed via JSON-RPC)") 49 | /* unused */ _ = flag.String( 50 | "board-name", "", 51 | "User-friendly board name to use initially (can be changed via JSON-RPC)") 52 | enableLogging := flag.Bool( 53 | "log", false, 54 | "Enable logging to files") 55 | loggingBasePath := flag.String( 56 | "logpath", ".", 57 | "Location where to write logging files to when logging is enabled") 58 | formatFilePath := flag.String( 59 | "format-conf-path", "", 60 | "Path to global clang-format configuration file") 61 | cliDaemonAddress := flag.String( 62 | "cli-daemon-addr", "", 63 | "TCP address and port of the Arduino CLI daemon (for example: localhost:50051)") 64 | cliDaemonInstanceNumber := flag.Int( 65 | "cli-daemon-instance", -1, 66 | "Instance number of the Arduino CLI daemon") 67 | skipLibrariesDiscoveryOnRebuild := flag.Bool( 68 | "skip-libraries-discovery-on-rebuild", false, 69 | "Skip libraries discovery on rebuild, it will make rebuilds faster but it will fail if the used libraries changes.") 70 | noRealTimeDiagnostics := flag.Bool( 71 | "no-real-time-diagnostics", false, 72 | "Disable real time diagnostics") 73 | jobs := flag.Int("jobs", -1, "Max number of parallel jobs. Default is 1. Use 0 to match the number of available CPU cores.") 74 | flag.Parse() 75 | 76 | if *loggingBasePath != "" { 77 | streams.GlobalLogDirectory = paths.New(*loggingBasePath) 78 | } else if *enableLogging { 79 | log.Fatalf("Please specify logpath") 80 | } 81 | 82 | if *enableLogging { 83 | logfile := streams.OpenLogFileAs("inols-err.log") 84 | log.SetOutput(io.MultiWriter(logfile, os.Stderr)) 85 | defer streams.CatchAndLogPanic() 86 | go func() { 87 | log.Println(http.ListenAndServe("localhost:6060", nil)) 88 | }() 89 | log.Println("Language server launched with arguments:") 90 | for i, arg := range os.Args { 91 | log.Printf(" arg[%d] = %s", i, arg) 92 | } 93 | } else { 94 | log.SetOutput(os.Stderr) 95 | } 96 | 97 | if *cliDaemonAddress != "" || *cliDaemonInstanceNumber != -1 { 98 | // if one is set, both must be set 99 | if *cliDaemonAddress == "" || *cliDaemonInstanceNumber == -1 { 100 | log.Fatal("ArduinoCLI daemon address and instance number must be set.") 101 | } 102 | } else { 103 | if *cliConfigPath == "" { 104 | if user, _ := user.Current(); user != nil { 105 | candidate := path.Join(user.HomeDir, ".arduino15/arduino-cli.yaml") 106 | if _, err := os.Stat(candidate); err == nil { 107 | *cliConfigPath = candidate 108 | log.Printf("ArduinoCLI config file found at %s\n", candidate) 109 | } 110 | } 111 | } 112 | if *cliConfigPath == "" { 113 | log.Fatal("Path to ArduinoCLI config file must be set.") 114 | } 115 | if *cliPath == "" { 116 | bin, _ := exec.LookPath("arduino-cli") 117 | if bin == "" { 118 | log.Fatal("Path to ArduinoCLI must be set.") 119 | } 120 | log.Printf("arduino-cli found at %s\n", bin) 121 | *cliPath = bin 122 | } 123 | } 124 | 125 | if *clangdPath == "" { 126 | bin, _ := exec.LookPath("clangd") 127 | if bin == "" { 128 | log.Fatal("Path to Clangd must be set.") 129 | } 130 | log.Printf("clangd found at %s\n", bin) 131 | *clangdPath = bin 132 | } 133 | 134 | config := &ls.Config{ 135 | Fqbn: *fqbn, 136 | ClangdPath: paths.New(*clangdPath), 137 | EnableLogging: *enableLogging, 138 | CliPath: paths.New(*cliPath), 139 | CliConfigPath: paths.New(*cliConfigPath), 140 | FormatterConf: paths.New(*formatFilePath), 141 | CliDaemonAddress: *cliDaemonAddress, 142 | CliInstanceNumber: *cliDaemonInstanceNumber, 143 | SkipLibrariesDiscoveryOnRebuild: *skipLibrariesDiscoveryOnRebuild, 144 | DisableRealTimeDiagnostics: *noRealTimeDiagnostics, 145 | Jobs: *jobs, 146 | } 147 | 148 | stdio := streams.NewReadWriteCloser(os.Stdin, os.Stdout) 149 | if *enableLogging { 150 | stdio = streams.LogReadWriteCloserAs(stdio, "inols.log") 151 | } 152 | 153 | inoHandler := ls.NewINOLanguageServer(stdio, stdio, config) 154 | 155 | if isatty.IsTerminal(os.Stderr.Fd()) || isatty.IsCygwinTerminal(os.Stderr.Fd()) { 156 | fmt.Fprint(os.Stderr, ` 157 | arduino-language-server is a language server that provides IDE-like features to editors. 158 | 159 | It should be used via an editor plugin rather than invoked directly. For more information, see: 160 | https://github.com/arduino/arduino-language-server/ 161 | https://microsoft.github.io/language-server-protocol/ 162 | `) 163 | } 164 | 165 | // Intercept kill signal 166 | c := make(chan os.Signal, 2) 167 | signal.Notify(c, os.Interrupt, os.Kill) 168 | 169 | select { 170 | case <-inoHandler.CloseNotify(): 171 | case <-c: 172 | log.Println("INTERRUPTED") 173 | } 174 | inoHandler.Close() 175 | } 176 | -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- 1 | github.com/arduino/arduino-cli v1.0.3 h1:mzLXzobYQNe7oOBMXCYbnAq8eTaDHyEZ2J34AIXpkxs= 2 | github.com/arduino/arduino-cli v1.0.3/go.mod h1:lvfuOgY+4KNsPmRKR+AZC/x8sx6rzUWt4yGZFon7VLA= 3 | github.com/arduino/go-paths-helper v1.0.1/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= 4 | github.com/arduino/go-paths-helper v1.12.1 h1:WkxiVUxBjKWlLMiMuYy8DcmVrkxdP7aKxQOAq7r2lVM= 5 | github.com/arduino/go-paths-helper v1.12.1/go.mod h1:jcpW4wr0u69GlXhTYydsdsqAjLaYK5n7oWHfKqOG6LM= 6 | github.com/arduino/go-properties-orderedmap v1.8.1 h1:nU5S6cXPwMoxZs4ORw61wPTALNfriIduvNB4cxTmNYM= 7 | github.com/arduino/go-properties-orderedmap v1.8.1/go.mod h1:DKjD2VXY/NZmlingh4lSFMEYCVubfeArCsGPGDwb2yk= 8 | github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.2.0 h1:v7og6LpskewFabmaShKVzWXl5MXbmsxaRP3yo4dJta8= 9 | github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.2.0/go.mod h1:1dgblsmK2iBx3L5iNTyRIokeaxbTLUrYiUbHBK6yC3Y= 10 | github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= 11 | github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 12 | github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= 13 | github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 14 | github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4= 15 | github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI= 16 | github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= 17 | github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= 18 | github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= 19 | github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= 20 | github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= 21 | github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= 22 | github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= 23 | github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= 24 | github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= 25 | github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= 26 | github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= 27 | github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= 28 | github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= 29 | github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= 30 | github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= 31 | github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= 32 | github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= 33 | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= 34 | github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= 35 | github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= 36 | github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= 37 | github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= 38 | github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= 39 | github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= 40 | github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= 41 | github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= 42 | github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= 43 | go.bug.st/json v1.15.6 h1:pvSpotu6f5JoCbx1TnKn6asVH7o9Tg2/GKsZSVzBOsc= 44 | go.bug.st/json v1.15.6/go.mod h1:bh58F9adz5ePlNqtvbuXuXcf9k6IrDLKH6lJUsHP3TI= 45 | go.bug.st/lsp v0.1.3 h1:gZxjjcHzIUJLRdGbm+2HD/ZieLMVtgZ1TYmdxFMxUV4= 46 | go.bug.st/lsp v0.1.3/go.mod h1:gAUjofIinATc1DRErYVSHgUpMeX3Vvxg8DH3qvb3mvM= 47 | go.bug.st/relaxed-semver v0.12.0 h1:se8v3lTdAAFp68+/RS/0Y/nFdnpdzkP5ICY04SPau4E= 48 | go.bug.st/relaxed-semver v0.12.0/go.mod h1:Cpcbiig6Omwlq6bS7i3MQWiqS7W7HDd8CAnZFC40Cl0= 49 | golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= 50 | golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= 51 | golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 52 | golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 53 | golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= 54 | golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= 55 | golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= 56 | golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= 57 | google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 h1:Zy9XzmMEflZ/MAaA7vNcoebnRAld7FsPW1EeBB7V0m8= 58 | google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= 59 | google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= 60 | google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= 61 | google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= 62 | google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= 63 | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= 64 | gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= 65 | gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= 66 | gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= 67 | gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= 68 | --------------------------------------------------------------------------------