Code Monkey home page Code Monkey logo

vscode-ttcn3's Introduction

TTCN-3 for Visual Studio Code

Repository  |  Issues  |  Documentation

Adds language support for TTCN-3 to Visual Studio Code. Available features:

  • Syntax Highlighting.
  • Code Snippets for quick coding.
  • Jump to Definition for quick navigation.
  • Code completion for a growing number of module defintions.
  • Find references
  • CodeLens for running tests from inside your IDE (experimental).
  • Semantic highlighting (experimental).
  • Automatic formatting (experimental).
  • And more features to come...

If you find this extension useful, please write a review and star it on GitHub.


IntelliSense

IntelliSense is powered by the ntt language server. Enable the TTCN-3 language server to use IntelliSense features. ntt updates and installs automatically.

Work in Progress

This extension and the language server is still work in progress. Not all TTCN-3 semantics are implemented already. If something is not working, please leave a message so we can fix it timely.

Any kind of contribution is very much appreciated.

Kindly, have a look at our contribution guides for this extension and the language server.

License

This project is licensed under the BSD-3-Clause license - see the LICENSE.

vscode-ttcn3's People

Contributors

5nord avatar blaxmirror avatar csatarigergely avatar dependabot[bot] avatar kmoberg avatar moosq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vscode-ttcn3's Issues

Highlight types

Current syntax highlighting only colors keywords. Putting type references into a better scope would be beneficial.

Install missing tool

Installing missing tools like k3 language server would greatly improve user experience.

Language server fails to start when auto update is failed

The extension supports auto installation and update of NTT.
The problem is, if the NTT update is failed, extension will not start the installed NTT or the NTT in $PATH.

	if (conf.get('server.update')) {
		try {
			await nttDownloader.downloadServerIfNeeded(status);
			// Ensure that start script can be executed
			if (isOSUnixoid()) {
				child_process.exec(`chmod +x ${installDir}/ntt`);
			}
		} catch (error) {
			console.error(error);
			vscode.window.showWarningMessage(`Could not update/download TTCN-3 Language Server: ${error}`);
			return;
		}
	}

Should remove the "return" in catch(error) block to ensure the start of existing NTT.

'go to definition' fail

sometimes 'go to definition' failed, if manually open the file function defined in,'go to definition' success

Highlight module defintion names

Current syntax highlighting only colors keywords. Putting module definition names into a better scope would be beneficial.

  • assign scope entity.name.function.ttcn3 to functions, testcases, altsteps, ...
  • assign similar scope to the other module defintions

Highlight visibility

Assign scope storage.modifier.visibility.ttcn3 to module definition visibility.

Highlight variables

Current syntax highlighting only colors keywords. Putting variables into a better scope would be beneficial.

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

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

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.