This is an automated email from the ASF dual-hosted git repository. lkishalmi pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/master by this push: new 9be61e9ae8 Minimal Lexing Support for Go Language (#5297) 9be61e9ae8 is described below commit 9be61e9ae8815b31303e3609b6586ab16423e1ae Author: Laszlo Kishalmi <laszlo.kisha...@gmail.com> AuthorDate: Sat Feb 11 08:35:35 2023 -0800 Minimal Lexing Support for Go Language (#5297) * Added ANTLR based Go Parser module * Added Go Syntax Lexer * Add Editor Preferences for Go * Fixed Go Lexer EOS token * Made a few polishment on the Go preferences * Registered languages.go as an editor.kit dependency * Exclude Go example files from RAT * Added minimal Go parser based error feedback * Added fold support for Go * Replace logo with custom painted one * Fix position registration for GoLanguage (clashed with antlr3 grammar) * Remove some cruft on languages.go module --------- Co-authored-by: Matthias Bläsing <mblaes...@doppel-helix.eu> --- ide/editor.kit/nbproject/project.xml | 6 + ide/go.lang/manifest.mf | 3 +- ide/languages.go/build.xml | 29 ++++ ide/languages.go/licenseinfo.xml | 28 ++++ ide/languages.go/manifest.mf | 6 + ide/languages.go/nbproject/project.properties | 17 ++ ide/languages.go/nbproject/project.xml | 142 +++++++++++++++++ .../modules/languages/go/Bundle.properties | 33 ++++ .../modules/languages/go/FontAndColors.xml | 33 ++++ .../org/netbeans/modules/languages/go/GoExample.go | 24 +++ .../netbeans/modules/languages/go/GoLangLexer.java | 153 ++++++++++++++++++ .../modules/languages/go/GoLangParser.java | 54 +++++++ .../modules/languages/go/GoLangParserResult.java | 152 ++++++++++++++++++ .../languages/go/GoLangStructureScanner.java | 51 ++++++ .../netbeans/modules/languages/go/GoLanguage.java | 174 +++++++++++++++++++++ .../netbeans/modules/languages/go/GoTokenId.java | 50 ++++++ .../org/netbeans/modules/languages/go/layer.xml | 73 +++++++++ .../netbeans/modules/languages/go/preferences.xml | 29 ++++ .../netbeans/modules/languages/go/resources/go.png | Bin 0 -> 438 bytes .../netbeans/modules/languages/go/resources/go.svg | 78 +++++++++ nbbuild/cluster.properties | 1 + nbbuild/rat-exclusions.txt | 24 +-- 22 files changed, 1147 insertions(+), 13 deletions(-) diff --git a/ide/editor.kit/nbproject/project.xml b/ide/editor.kit/nbproject/project.xml index e95b7975fd..e93cd896cc 100644 --- a/ide/editor.kit/nbproject/project.xml +++ b/ide/editor.kit/nbproject/project.xml @@ -93,6 +93,12 @@ <specification-version>1.4</specification-version> </run-dependency> </dependency> + <dependency> + <code-name-base>org.netbeans.modules.languages.go</code-name-base> + <run-dependency> + <specification-version>1.0</specification-version> + </run-dependency> + </dependency> <dependency> <code-name-base>org.netbeans.modules.languages.manifest</code-name-base> <run-dependency> diff --git a/ide/go.lang/manifest.mf b/ide/go.lang/manifest.mf index c2a4a59a87..37388df915 100644 --- a/ide/go.lang/manifest.mf +++ b/ide/go.lang/manifest.mf @@ -2,4 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.go.lang OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/go/lang/Bundle.properties OpenIDE-Module-Specification-Version: 1.1 -AutoUpdate-Show-In-Client: true +AutoUpdate-Show-In-Client: false + diff --git a/ide/languages.go/build.xml b/ide/languages.go/build.xml new file mode 100644 index 0000000000..60824c66be --- /dev/null +++ b/ide/languages.go/build.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +--> +<!-- You may freely edit this file. See harness/README in the NetBeans platform --> +<!-- for some information on what you could do (e.g. targets to override). --> +<!-- If you delete this file and reopen the project it will be recreated. --> +<project name="ide/languages.go" default="build" basedir="."> + <description>Builds, tests, and runs the project org.netbeans.modules.languages.go</description> + <import file="../../nbbuild/templates/projectized.xml"/> + +</project> diff --git a/ide/languages.go/licenseinfo.xml b/ide/languages.go/licenseinfo.xml new file mode 100644 index 0000000000..e9e61f6fce --- /dev/null +++ b/ide/languages.go/licenseinfo.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +--> +<licenseinfo> + <fileset> + <file>src/org/netbeans/modules/languages/go/GoExample.go</file> + <file>src/org/netbeans/modules/languages/go/resources/go.png</file> + <license ref="Apache-2.0-ASF" /> + </fileset> +</licenseinfo> diff --git a/ide/languages.go/manifest.mf b/ide/languages.go/manifest.mf new file mode 100644 index 0000000000..7d17a14e09 --- /dev/null +++ b/ide/languages.go/manifest.mf @@ -0,0 +1,6 @@ +Manifest-Version: 1.0 +OpenIDE-Module: org.netbeans.modules.languages.go +OpenIDE-Module-Layer: org/netbeans/modules/languages/go/layer.xml +OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/go/Bundle.properties +OpenIDE-Module-Specification-Version: 1.0 +AutoUpdate-Show-In-Client: false diff --git a/ide/languages.go/nbproject/project.properties b/ide/languages.go/nbproject/project.properties new file mode 100644 index 0000000000..c216e1f049 --- /dev/null +++ b/ide/languages.go/nbproject/project.properties @@ -0,0 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +javac.source=1.8 diff --git a/ide/languages.go/nbproject/project.xml b/ide/languages.go/nbproject/project.xml new file mode 100644 index 0000000000..48c4f4a333 --- /dev/null +++ b/ide/languages.go/nbproject/project.xml @@ -0,0 +1,142 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +--> +<project xmlns="http://www.netbeans.org/ns/project/1"> + <type>org.netbeans.modules.apisupport.project</type> + <configuration> + <data xmlns="http://www.netbeans.org/ns/nb-module-project/3"> + <code-name-base>org.netbeans.modules.languages.go</code-name-base> + <module-dependencies> + <dependency> + <code-name-base>org.netbeans.core.multiview</code-name-base> + <build-prerequisite/> + <compile-dependency/> + <run-dependency> + <release-version>1</release-version> + <specification-version>1.62</specification-version> + </run-dependency> + </dependency> + <dependency> + <code-name-base>org.netbeans.libs.antlr4.runtime</code-name-base> + <build-prerequisite/> + <compile-dependency/> + <run-dependency> + <release-version>2</release-version> + <specification-version>1.20</specification-version> + </run-dependency> + </dependency> + <dependency> + <code-name-base>org.netbeans.modules.csl.api</code-name-base> + <build-prerequisite/> + <compile-dependency/> + <run-dependency> + <release-version>2</release-version> + <specification-version>2.75</specification-version> + </run-dependency> + </dependency> + <dependency> + <code-name-base>org.netbeans.modules.csl.types</code-name-base> + <build-prerequisite/> + <compile-dependency/> + <run-dependency> + <release-version>1</release-version> + <specification-version>1.19</specification-version> + </run-dependency> + </dependency> + <dependency> + <code-name-base>org.netbeans.modules.go.lang</code-name-base> + <build-prerequisite/> + <compile-dependency/> + <run-dependency> + <specification-version>1.0</specification-version> + </run-dependency> + </dependency> + <dependency> + <code-name-base>org.netbeans.modules.lexer</code-name-base> + <build-prerequisite/> + <compile-dependency/> + <run-dependency> + <release-version>2</release-version> + <specification-version>1.81</specification-version> + </run-dependency> + </dependency> + <dependency> + <code-name-base>org.netbeans.modules.lexer.antlr4</code-name-base> + <build-prerequisite/> + <compile-dependency/> + <run-dependency> + <specification-version>1.0</specification-version> + </run-dependency> + </dependency> + <dependency> + <code-name-base>org.netbeans.modules.parsing.api</code-name-base> + <build-prerequisite/> + <compile-dependency/> + <run-dependency> + <release-version>1</release-version> + <specification-version>9.26</specification-version> + </run-dependency> + </dependency> + <dependency> + <code-name-base>org.openide.awt</code-name-base> + <build-prerequisite/> + <compile-dependency/> + <run-dependency> + <specification-version>7.86</specification-version> + </run-dependency> + </dependency> + <dependency> + <code-name-base>org.openide.filesystems</code-name-base> + <build-prerequisite/> + <compile-dependency/> + <run-dependency> + <specification-version>9.30</specification-version> + </run-dependency> + </dependency> + <dependency> + <code-name-base>org.openide.util</code-name-base> + <build-prerequisite/> + <compile-dependency/> + <run-dependency> + <specification-version>9.26</specification-version> + </run-dependency> + </dependency> + <dependency> + <code-name-base>org.openide.util.lookup</code-name-base> + <build-prerequisite/> + <compile-dependency/> + <run-dependency> + <specification-version>8.52</specification-version> + </run-dependency> + </dependency> + <dependency> + <code-name-base>org.openide.windows</code-name-base> + <build-prerequisite/> + <compile-dependency/> + <run-dependency> + <specification-version>6.95</specification-version> + </run-dependency> + </dependency> + </module-dependencies> + <public-packages/> + </data> + </configuration> +</project> diff --git a/ide/languages.go/src/org/netbeans/modules/languages/go/Bundle.properties b/ide/languages.go/src/org/netbeans/modules/languages/go/Bundle.properties new file mode 100644 index 0000000000..4c6ab6a3f5 --- /dev/null +++ b/ide/languages.go/src/org/netbeans/modules/languages/go/Bundle.properties @@ -0,0 +1,33 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +OpenIDE-Module-Name=Go Language Editor Support +OpenIDE-Module-Display-Category=IDE +OpenIDE-Module-Short-Description=Support for editing Go Language Files. +OpenIDE-Module-Long-Description=Support for editing Go Language files. + +Editors/text/x-go=Go File + +comment=Comment +error=Error +identifier=Identifier +keyword=Keyword +number=Number +operator=Operator +separator=Separator +string=String +whitespace=Whitespace diff --git a/ide/languages.go/src/org/netbeans/modules/languages/go/FontAndColors.xml b/ide/languages.go/src/org/netbeans/modules/languages/go/FontAndColors.xml new file mode 100644 index 0000000000..562091fe6c --- /dev/null +++ b/ide/languages.go/src/org/netbeans/modules/languages/go/FontAndColors.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +--> +<!DOCTYPE fontscolors PUBLIC "-//NetBeans//DTD Editor Fonts and Colors settings 1.1//EN" "http://www.netbeans.org/dtds/EditorFontsColors-1_1.dtd"> +<fontscolors> + <fontcolor name="comment" default="comment"/> + <fontcolor name="error" default="error"/> + <fontcolor name="identifier" default="identifier"/> + <fontcolor name="keyword" default="keyword"/> + <fontcolor name="number" default="number"/> + <fontcolor name="operator" default="operator"/> + <fontcolor name="separator" default="separator"/> + <fontcolor name="string" default="string"/> + <fontcolor name="whitespace" default="whitespace"/> +</fontscolors> diff --git a/ide/languages.go/src/org/netbeans/modules/languages/go/GoExample.go b/ide/languages.go/src/org/netbeans/modules/languages/go/GoExample.go new file mode 100644 index 0000000000..df09d5777e --- /dev/null +++ b/ide/languages.go/src/org/netbeans/modules/languages/go/GoExample.go @@ -0,0 +1,24 @@ +package main + +import ( + "fmt" + "log" + "errors" + "net/http" +) + +var Dir string + +/* +var Users jsoncfgo.Obj +var AppContext *go_utils.Singleton +*/ + +func HtmlFileHandler(response http.ResponseWriter, request *http.Request, filename string){ + response.Header().Set("Content-type", "text/html") + webpage, err := ioutil.ReadFile(Dir + filename) // read whole the file + if err != nil { + http.Error(response, fmt.Sprintf("%s file error %v", filename, err), 500) + } + fmt.Fprint(response, string(webpage)); +} diff --git a/ide/languages.go/src/org/netbeans/modules/languages/go/GoLangLexer.java b/ide/languages.go/src/org/netbeans/modules/languages/go/GoLangLexer.java new file mode 100644 index 0000000000..113d8b56c6 --- /dev/null +++ b/ide/languages.go/src/org/netbeans/modules/languages/go/GoLangLexer.java @@ -0,0 +1,153 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.languages.go; + +import org.antlr.parser.golang.GoLexer; +import org.netbeans.api.lexer.Token; +import org.netbeans.spi.lexer.LexerRestartInfo; + +import static org.antlr.parser.golang.GoLexer.*; +import org.netbeans.spi.lexer.antlr4.AbstractAntlrLexerBridge; + +import static org.netbeans.modules.languages.go.GoTokenId.*; +/** + * + * @author lkishalmi + */ +public final class GoLangLexer extends AbstractAntlrLexerBridge<GoLexer, GoTokenId> { + + public GoLangLexer(LexerRestartInfo<GoTokenId> info) { + super(info, GoLexer::new); + } + + @Override + protected Token<GoTokenId> mapToken(org.antlr.v4.runtime.Token antlrToken) { + switch (antlrToken.getType()) { + case BREAK: + case DEFAULT: + case FUNC: + case INTERFACE: + case SELECT: + case CASE: + case DEFER: + case GO: + case MAP: + case STRUCT: + case CHAN: + case ELSE: + case GOTO: + case PACKAGE: + case SWITCH: + case CONST: + case FALLTHROUGH: + case IF: + case RANGE: + case TYPE: + case CONTINUE: + case FOR: + case IMPORT: + case RETURN: + case VAR: + case NIL_LIT: + return token(KEYWORD); + + case GoLexer.IDENTIFIER: + return token(GoTokenId.IDENTIFIER); + + case L_PAREN: + case R_PAREN: + case L_CURLY: + case R_CURLY: + case L_BRACKET: + case R_BRACKET: + case ASSIGN: + case COMMA: + case SEMI: + case COLON: + case DOT: + case PLUS_PLUS: + case MINUS_MINUS: + case DECLARE_ASSIGN: + case ELLIPSIS: + return token(SEPARATOR); + + case LOGICAL_OR: + case LOGICAL_AND: + case EQUALS: + case NOT_EQUALS: + case LESS: + case LESS_OR_EQUALS: + case GREATER: + case GREATER_OR_EQUALS: + case OR: + case DIV: + case MOD: + case LSHIFT: + case RSHIFT: + case BIT_CLEAR: + case EXCLAMATION: + case PLUS: + case MINUS: + case CARET: + case STAR: + case AMPERSAND: + case RECEIVE: + return token(OPERATOR); + + case RAW_STRING_LIT: + case INTERPRETED_STRING_LIT: + case RUNE_LIT: + return token(STRING); + + case DECIMAL_LIT: + case BINARY_LIT: + case OCTAL_LIT: + case HEX_LIT: + case FLOAT_LIT: + case DECIMAL_FLOAT_LIT: + case HEX_FLOAT_LIT: + case IMAGINARY_LIT: + return token(NUMBER); + + case WS: + case WS_NLSEMI: + case TERMINATOR: + return token(WHITESPACE); + + case GoLexer.COMMENT: + case LINE_COMMENT: + case LINE_COMMENT_NLSEMI: + return token(GoTokenId.COMMENT); + case EOS: + String text = antlrToken.getText(); + if (Character.isWhitespace(text.codePointAt(0))) { + return token(WHITESPACE); + } + if (text.startsWith("/*")) { + return token(GoTokenId.COMMENT); + } + if (text.equals(";")) { + return token(SEPARATOR); + } + default: + return token(ERROR); + } + } + +} diff --git a/ide/languages.go/src/org/netbeans/modules/languages/go/GoLangParser.java b/ide/languages.go/src/org/netbeans/modules/languages/go/GoLangParser.java new file mode 100644 index 0000000000..a613b1506a --- /dev/null +++ b/ide/languages.go/src/org/netbeans/modules/languages/go/GoLangParser.java @@ -0,0 +1,54 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.languages.go; + +import javax.swing.event.ChangeListener; +import org.netbeans.modules.parsing.api.Snapshot; +import org.netbeans.modules.parsing.api.Task; +import org.netbeans.modules.parsing.spi.ParseException; +import org.netbeans.modules.parsing.spi.Parser; +import org.netbeans.modules.parsing.spi.SourceModificationEvent; + +/** + * + * @author Laszlo Kishalmi + */ +public class GoLangParser extends Parser { + + private Result lastResult; + + @Override + public void parse(Snapshot snapshot, Task task, SourceModificationEvent event) throws ParseException { + lastResult = new GoLangParserResult(snapshot).get(); + } + + @Override + public Result getResult(Task task) throws ParseException { + return lastResult; + } + + @Override + public void addChangeListener(ChangeListener changeListener) { + } + + @Override + public void removeChangeListener(ChangeListener changeListener) { + } + +} diff --git a/ide/languages.go/src/org/netbeans/modules/languages/go/GoLangParserResult.java b/ide/languages.go/src/org/netbeans/modules/languages/go/GoLangParserResult.java new file mode 100644 index 0000000000..967f0c1568 --- /dev/null +++ b/ide/languages.go/src/org/netbeans/modules/languages/go/GoLangParserResult.java @@ -0,0 +1,152 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.languages.go; + +import java.util.ArrayList; +import java.util.List; +import org.antlr.parser.golang.GoLexer; +import org.antlr.parser.golang.GoParser; +import org.antlr.parser.golang.GoParserBaseListener; +import org.antlr.v4.runtime.ANTLRErrorListener; +import org.antlr.v4.runtime.BaseErrorListener; +import org.antlr.v4.runtime.CharStreams; +import org.antlr.v4.runtime.CommonTokenStream; +import org.antlr.v4.runtime.RecognitionException; +import org.antlr.v4.runtime.Recognizer; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.tree.ParseTreeListener; +import org.netbeans.modules.csl.api.OffsetRange; +import org.netbeans.modules.csl.api.Severity; +import org.netbeans.modules.csl.spi.DefaultError; +import org.netbeans.modules.csl.spi.ParserResult; +import org.netbeans.modules.parsing.api.Snapshot; +import org.openide.filesystems.FileObject; + +/** + * + * @author Laszlo Kishalmi + */ +public class GoLangParserResult extends ParserResult { + + private final List<DefaultError> errors = new ArrayList<>();; + public final List<OffsetRange> folds = new ArrayList<>(); + volatile boolean finished = false; + + public GoLangParserResult(Snapshot snapshot) { + super(snapshot); + } + + @Override + public List<? extends org.netbeans.modules.csl.api.Error> getDiagnostics() { + return errors; + } + + public GoLangParserResult get() { + if (! finished) { + GoLexer lexer = new GoLexer(CharStreams.fromString(String.valueOf(getSnapshot().getText()))); + GoParser parser = new GoParser(new CommonTokenStream(lexer)); + parser.addErrorListener(createErrorListener()); + parser.addParseListener(createFoldListener()); + + parser.sourceFile(); + finished = true; + } + return this; + } + + @Override + protected void invalidate() { + } + + @Override + protected boolean processingFinished() { + return finished; + } + + protected final FileObject getFileObject() { + return getSnapshot().getSource().getFileObject(); + } + + private ANTLRErrorListener createErrorListener() { + return new BaseErrorListener() { + @Override + public void syntaxError(Recognizer<?, ?> recognizer, Object offendingSymbol, int line, int charPositionInLine, String msg, RecognitionException e) { + int errorPosition = 0; + if (offendingSymbol instanceof Token) { + Token offendingToken = (Token) offendingSymbol; + errorPosition = offendingToken.getStartIndex(); + } + errors.add(new DefaultError(null, msg, null, getFileObject(), errorPosition, errorPosition, Severity.ERROR)); + } + + }; + } + + private ParseTreeListener createFoldListener() { + return new GoParserBaseListener() { + private void addFold(Token startToken, Token stopToken) { + int start = startToken.getStartIndex(); + int stop = stopToken.getStartIndex() + 1; + if(start >= stop) { + return; + } + OffsetRange range = new OffsetRange(start, stop); + if(! folds.contains(range)) { + folds.add(range); + } + } + + private void addBlockFold(GoParser.BlockContext ctx) { + if ((ctx.L_CURLY() != null) && (ctx.R_CURLY() != null)) { + addFold(ctx.L_CURLY().getSymbol(), ctx.R_CURLY().getSymbol()); + } + } + + @Override + public void exitStructType(GoParser.StructTypeContext ctx) { + if ((ctx.L_CURLY() != null) && (ctx.R_CURLY() != null)) { + addFold(ctx.L_CURLY().getSymbol(), ctx.R_CURLY().getSymbol()); + } + } + + @Override + public void exitMethodDecl(GoParser.MethodDeclContext ctx) { + if (ctx.block() != null) { + addBlockFold(ctx.block()); + } + } + + @Override + public void exitFunctionDecl(GoParser.FunctionDeclContext ctx) { + if (ctx.block() != null) { + addBlockFold(ctx.block()); + } + } + + + @Override + public void exitImportDecl(GoParser.ImportDeclContext ctx) { + if ((ctx.L_PAREN() != null) && (ctx.R_PAREN() != null)) { + addFold(ctx.L_PAREN().getSymbol(), ctx.R_PAREN().getSymbol()); + } + } + + }; + } +} diff --git a/ide/languages.go/src/org/netbeans/modules/languages/go/GoLangStructureScanner.java b/ide/languages.go/src/org/netbeans/modules/languages/go/GoLangStructureScanner.java new file mode 100644 index 0000000000..8b398a41f7 --- /dev/null +++ b/ide/languages.go/src/org/netbeans/modules/languages/go/GoLangStructureScanner.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.languages.go; + +import java.util.Collections; +import java.util.List; +import java.util.Map; +import org.netbeans.modules.csl.api.OffsetRange; +import org.netbeans.modules.csl.api.StructureItem; +import org.netbeans.modules.csl.api.StructureScanner; +import org.netbeans.modules.csl.spi.ParserResult; + +/** + * + * @author Laszlo Kishalmi + */ +public class GoLangStructureScanner implements StructureScanner { + + @Override + public List<? extends StructureItem> scan(ParserResult info) { + return Collections.emptyList(); + } + + @Override + public Map<String, List<OffsetRange>> folds(ParserResult info) { + return Collections.singletonMap("codeblocks", ((GoLangParserResult)info).folds); //NOI18N + + } + + @Override + public Configuration getConfiguration() { + return new Configuration(true, false); + } + +} diff --git a/ide/languages.go/src/org/netbeans/modules/languages/go/GoLanguage.java b/ide/languages.go/src/org/netbeans/modules/languages/go/GoLanguage.java new file mode 100644 index 0000000000..c444f4b123 --- /dev/null +++ b/ide/languages.go/src/org/netbeans/modules/languages/go/GoLanguage.java @@ -0,0 +1,174 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.languages.go; + +import java.util.Collection; +import java.util.EnumSet; +import org.netbeans.api.lexer.Language; +import org.netbeans.core.spi.multiview.MultiViewElement; +import org.netbeans.core.spi.multiview.text.MultiViewEditorElement; +import org.netbeans.modules.csl.api.StructureScanner; +import org.netbeans.modules.csl.spi.DefaultLanguageConfig; +import org.netbeans.modules.csl.spi.LanguageRegistration; +import org.netbeans.modules.parsing.spi.Parser; +import org.netbeans.spi.lexer.LanguageHierarchy; +import org.netbeans.spi.lexer.Lexer; +import org.netbeans.spi.lexer.LexerRestartInfo; +import org.openide.awt.ActionID; +import org.openide.awt.ActionReference; +import org.openide.awt.ActionReferences; +import org.openide.filesystems.MIMEResolver; +import org.openide.util.*; +import org.openide.windows.TopComponent; + +/** + * + * @author lkishalmi + */ +@NbBundle.Messages( + "GoResolver=Go File" +) +@MIMEResolver.ExtensionRegistration(displayName = "#GoResolver", + extension = "go", + mimeType = GoLanguage.MIME_TYPE, + position = 315 +) + +@ActionReferences({ + @ActionReference( + path = "Loaders/text/x-go/Actions", + id = @ActionID(category = "System", id = "org.openide.actions.OpenAction"), + position = 100, + separatorAfter = 200 + ), + @ActionReference( + path = "Loaders/text/x-go/Actions", + id = @ActionID(category = "Edit", id = "org.openide.actions.CutAction"), + position = 300 + ), + @ActionReference( + path = "Loaders/text/x-go/Actions", + id = @ActionID(category = "Edit", id = "org.openide.actions.CopyAction"), + position = 400 + ), + @ActionReference( + path = "Loaders/text/x-go/Actions", + id = @ActionID(category = "Edit", id = "org.openide.actions.PasteAction"), + position = 500, + separatorAfter = 600 + ), + @ActionReference( + path = "Loaders/text/x-go/Actions", + id = @ActionID(category = "Edit", id = "org.openide.actions.DeleteAction"), + position = 700 + ), + @ActionReference( + path = "Loaders/text/x-go/Actions", + id = @ActionID(category = "System", id = "org.openide.actions.RenameAction"), + position = 800, + separatorAfter = 900 + ), + @ActionReference( + path = "Loaders/text/x-go/Actions", + id = @ActionID(category = "System", id = "org.openide.actions.SaveAsTemplateAction"), + position = 1000, + separatorAfter = 1100 + ), + @ActionReference( + path = "Loaders/text/x-go/Actions", + id = @ActionID(category = "System", id = "org.openide.actions.FileSystemAction"), + position = 1200, + separatorAfter = 1300 + ), + @ActionReference( + path = "Loaders/text/x-go/Actions", + id = @ActionID(category = "System", id = "org.openide.actions.ToolsAction"), + position = 1400 + ), + @ActionReference( + path = "Loaders/text/x-go/Actions", + id = @ActionID(category = "System", id = "org.openide.actions.PropertiesAction"), + position = 1500 + ) +}) +@LanguageRegistration(mimeType = GoLanguage.MIME_TYPE, useMultiview = true) +public class GoLanguage extends DefaultLanguageConfig { + + public static final String MIME_TYPE = "text/x-go"; + + @Override + public Language getLexerLanguage() { + return LANGUAGE; + } + + @Override + public String getLineCommentPrefix() { + return "//"; // NOI18N + } + + @Override + public String getDisplayName() { + return "Go"; //NOI18N + } + + @Override + public Parser getParser() { + return new GoLangParser(); + } + + @Override + public StructureScanner getStructureScanner() { + return new GoLangStructureScanner(); + } + + @Override + public boolean hasStructureScanner() { + return true; + } + + private static final Language<GoTokenId> LANGUAGE = new LanguageHierarchy<GoTokenId>() { + @Override + protected Collection<GoTokenId> createTokenIds() { + return EnumSet.allOf(GoTokenId.class); + } + + @Override + protected Lexer<GoTokenId> createLexer(LexerRestartInfo<GoTokenId> info) { + return new GoLangLexer(info); + } + + @Override + protected String mimeType() { + return GoLanguage.MIME_TYPE; + } + }.language(); + + @NbBundle.Messages("Source=&Source") + @MultiViewElement.Registration( + displayName = "#Source", + persistenceType = TopComponent.PERSISTENCE_ONLY_OPENED, + mimeType = GoLanguage.MIME_TYPE, + preferredID = "go.source", + position = 100 + ) + public static MultiViewEditorElement createMultiViewEditorElement(Lookup context) { + return new MultiViewEditorElement(context); + } + +} diff --git a/ide/languages.go/src/org/netbeans/modules/languages/go/GoTokenId.java b/ide/languages.go/src/org/netbeans/modules/languages/go/GoTokenId.java new file mode 100644 index 0000000000..1ba9de4b0f --- /dev/null +++ b/ide/languages.go/src/org/netbeans/modules/languages/go/GoTokenId.java @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.languages.go; + +import org.netbeans.api.lexer.TokenId; + +/** + * + * @author lkishalmi + */ +public enum GoTokenId implements TokenId{ + + COMMENT("comment"), + ERROR("error"), + IDENTIFIER("identifier"), + KEYWORD("keyword"), + NUMBER("number"), + OPERATOR("operator"), + SEPARATOR("separator"), + STRING("string"), + WHITESPACE("whitespace"); + + private final String category; + + GoTokenId(String category) { + this.category = category; + } + + @Override + public String primaryCategory() { + return category; + } + +} diff --git a/ide/languages.go/src/org/netbeans/modules/languages/go/layer.xml b/ide/languages.go/src/org/netbeans/modules/languages/go/layer.xml new file mode 100644 index 0000000000..044ae2181d --- /dev/null +++ b/ide/languages.go/src/org/netbeans/modules/languages/go/layer.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +--> +<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd"> +<filesystem> + <folder name="Editors"> + <folder name="text"> + <folder name="x-go"> + <attr name="displayName" bundlevalue="org.netbeans.modules.languages.go.Bundle#Editors/text/x-go"/> + <folder name="FontsColors"> + <folder name="NetBeans"> + <folder name="Defaults"> + <file name="FontAndColors.xml" url="FontAndColors.xml"> + <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.languages.go.Bundle"/> + </file> + </folder> + </folder> + </folder> + <folder name="Preferences"> + <folder name="Defaults"> + <file name="org-netbeans-modules-languages-go-preferences.xml" url="preferences.xml"/> + </folder> + </folder> + </folder> + </folder> + </folder> + <folder name="Loaders"> + <folder name="text"> + <folder name="x-go"> + <attr name="iconBase" stringvalue="org/netbeans/modules/languages/go/resources/go.png"/> + </folder> + </folder> + </folder> + <folder name="OptionsDialog"> + <folder name="PreviewExamples"> + <folder name="text"> + <file name="x-go" url="GoExample.go"/> + </folder> + </folder> + <folder name="Editor"> + <folder name="Formatting"> + <folder name="text"> + <folder name="x-go"> + <file name="TabsAndIndents.instance"> + <attr name="instanceOf" stringvalue="org.netbeans.modules.options.editor.spi.PreferencesCustomizer$Factory"/> + <attr name="instanceCreate" methodvalue="org.netbeans.modules.options.editor.spi.CustomizerFactories.createDefaultTabsAndIndentsCustomizerFactory"/> + <attr name="previewTextFile" stringvalue="org/netbeans/modules/languages/go/GoExample.go"/> + <attr name="position" intvalue="100"/> + </file> + </folder> + </folder> + </folder> + </folder> + </folder> +</filesystem> diff --git a/ide/languages.go/src/org/netbeans/modules/languages/go/preferences.xml b/ide/languages.go/src/org/netbeans/modules/languages/go/preferences.xml new file mode 100644 index 0000000000..4f717a810f --- /dev/null +++ b/ide/languages.go/src/org/netbeans/modules/languages/go/preferences.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +--> +<!DOCTYPE editor-preferences PUBLIC "-//NetBeans//DTD Editor Preferences 1.0//EN" "http://www.netbeans.org/dtds/EditorPreferences-1_0.dtd"> + +<editor-preferences> + <entry javaType="java.lang.Boolean" name="enable-indent" xml:space="preserve"><value>true</value></entry> + <entry javaType="java.lang.Integer" name="indent-shift-width" xml:space="preserve"><value>4</value></entry> + <entry javaType="java.lang.Boolean" name="expand-tabs" xml:space="preserve"><value>false</value></entry> + <entry javaType="java.lang.Integer" name="tab-size" xml:space="preserve"><value>4</value></entry> +</editor-preferences> diff --git a/ide/languages.go/src/org/netbeans/modules/languages/go/resources/go.png b/ide/languages.go/src/org/netbeans/modules/languages/go/resources/go.png new file mode 100644 index 0000000000..a592cb137b Binary files /dev/null and b/ide/languages.go/src/org/netbeans/modules/languages/go/resources/go.png differ diff --git a/ide/languages.go/src/org/netbeans/modules/languages/go/resources/go.svg b/ide/languages.go/src/org/netbeans/modules/languages/go/resources/go.svg new file mode 100644 index 0000000000..dc3ae95dd3 --- /dev/null +++ b/ide/languages.go/src/org/netbeans/modules/languages/go/resources/go.svg @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +--> + +<!-- +Icon was created using inkscape. The basis was created using the font +LexendPeta: + +https://fonts.google.com/specimen/Lexend+Peta + +The font was used with in the "900" variant and simulated italic, the +character distance reduced and the color used by Go applied. +--> + +<svg + version="1.1" + id="Go" + x="0px" + y="0px" + width="16px" + height="16px" + viewBox="0 0 16 16" + style="enable-background:new 0 0 16 16;" + xml:space="preserve" + sodipodi:docname="go.svg" + inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"><g + id="g41855" + transform="translate(-0.11839993,-0.1326296)"><path + d="m 3.5913422,11.591335 q -0.8907351,0 -1.5635244,-0.227422 Q 1.3550285,11.136492 0.91913686,10.7006 0.49272113,10.264708 0.35058254,9.6203468 0.20844396,8.9759853 0.37901026,8.1326297 0.53062475,7.3745573 0.95704048,6.7491474 1.3929321,6.1142618 2.0278178,5.6499424 2.6721794,5.1856231 3.4871072,4.9297736 4.311511,4.6739242 5.2401497,4.6739242 q 0.7296447,0 1.2887231,0.1610904 0.5685543,0.1516145 0.9760182,0.397988 0.4169399,0.2368976 0.6633134,0.5116989 L 6.6899632,7.0713283 Q 6.5 [...] + stroke-width="0.236898" fill="#00aed8" + id="path41729" /><path + d="m 11.077231,11.591335 q -0.909686,0 -1.6203793,-0.255849 Q 8.7556347,11.07016 8.3007913,10.605841 7.8459478,10.141522 7.6659056,9.5161118 7.4953393,8.8812262 7.6469538,8.1326297 7.7985683,7.3840332 8.224984,6.7586233 8.6513998,6.1237377 9.2957613,5.6594183 9.9401229,5.195099 10.745575,4.9392495 q 0.805452,-0.2653253 1.705663,-0.2653253 0.909687,0 1.610904,0.2653253 0.701217,0.2558495 1.15606,0.7201688 0.454844,0.4643194 0.634886,1.099205 0.180042,0.6254099 0.02843,1.3645305 -0.15 [...] + stroke-width="0.236898" fill="#00aed8" + id="path41731" /></g><defs + id="defs11" /><sodipodi:namedview + id="namedview9" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + showgrid="false" + inkscape:zoom="38.581514" + inkscape:cx="16.562336" + inkscape:cy="8.864349" + inkscape:window-width="2490" + inkscape:window-height="1376" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="Go" /> + + + +</svg> diff --git a/nbbuild/cluster.properties b/nbbuild/cluster.properties index 3bf36f5194..10ada663ad 100644 --- a/nbbuild/cluster.properties +++ b/nbbuild/cluster.properties @@ -427,6 +427,7 @@ nb.cluster.ide=\ jumpto,\ languages,\ languages.diff,\ + languages.go,\ languages.manifest,\ languages.toml,\ languages.yaml,\ diff --git a/nbbuild/rat-exclusions.txt b/nbbuild/rat-exclusions.txt index 2a0a17196b..b249f3b555 100644 --- a/nbbuild/rat-exclusions.txt +++ b/nbbuild/rat-exclusions.txt @@ -5,9 +5,9 @@ ###### to you under the Apache License, Version 2.0 (the ###### "License"); you may not use this file except in compliance ###### with the License. You may obtain a copy of the License at -###### +###### ###### http://www.apache.org/licenses/LICENSE-2.0 -###### +###### ###### Unless required by applicable law or agreed to in writing, ###### software distributed under the License is distributed on an ###### "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @@ -16,7 +16,7 @@ ###### under the License. ###### BEGIN OF EXCLUSIONS (Do not remove this marker!) -###### build artifacts +###### build artifacts **/build/** licenses/** nbbuild/licenses/** @@ -59,7 +59,7 @@ enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/model_4_0_frag/* enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/model_5_0_frag/* enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/model_6_0_frag/* -###### user-specific files +###### user-specific files **/nbproject/private/** ###### no degree of creativity: https://www.apache.org/legal/src-headers.html#faq-exceptions @@ -88,10 +88,10 @@ ide/options.editor/src/org/netbeans/modules/options/colors/HighlightingExample ide/options.editor/src/org/netbeans/modules/options/indentation/indentationExample platform/templates/src/org/netbeans/modules/templates/resources/userprop.txt ### limited degreed of creativity -## the files do not reach a level of creativity +## the files do not reach a level of creativity java/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/configuration*.dtd -###### test data: https://www.apache.org/legal/src-headers.html#faq-exceptions +###### test data: https://www.apache.org/legal/src-headers.html#faq-exceptions platform/api.search/test/unit/src/org/netbeans/modules/search/data/** platform/api.templates/test/unit/src/org/netbeans/modules/templates/utf8.xml platform/autoupdate.services/test/unit/**/data/** @@ -159,7 +159,7 @@ java/selenium2.java/src/org/netbeans/modules/selenium2/java/SeleneseIT.java.temp java/testng.ui/src/org/netbeans/modules/testng/ui/resources/*.template websvccommon/websvc.saas.api/src/org/netbeans/modules/websvc/saas/oauth/*.template -###### do not natively support comments +###### do not natively support comments **/*.mf **/*.MF **/*.nib @@ -168,7 +168,7 @@ websvccommon/websvc.saas.api/src/org/netbeans/modules/websvc/saas/oauth/*.templa harness/jellytools.platform/src/org/netbeans/jellytools/version_info **/*.npss -###### generated test files +###### generated test files **/*.pass **/*.pass2 **/*.pbxproj @@ -183,14 +183,14 @@ harness/jellytools.platform/src/org/netbeans/jellytools/version_info platform/openide.util.ui/test/unit/src/org/openide/util/UtilitiesTranslateEmpty.txt platform/openide.util/test/unit/src/org/openide/util/LookupUsesRequestProcessorTest.resource -###### external dependencies licences and notices +###### external dependencies licences and notices **/external/*-license.txt **/external/*-notice.txt ###### generated -### signatures for past versions +### signatures for past versions **/nbproject/*.sig -### generated, no degree of creativity +### generated, no degree of creativity **/nbproject/build-impl.xml **/nbproject/genfiles.properties **/nbproject/groovy-build.xml @@ -202,7 +202,7 @@ websvccommon/websvc.saas.api/src/org/netbeans/modules/websvc/saas/model/wadl/* ### generated ANTLR java/java.api.common/src/org/netbeans/modules/java/api/common/project/ui/customizer/vmo/gen/CommandLine.tokens -###### license files +###### license files apisupport/apisupport.installer/src/org/netbeans/modules/apisupport/installer/resources/licenses/** ### companion files for CDDL licensed binaries profiler/lib.profiler/release/lib/deployed/**/*.map --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists