Skip to content

rolleric/snpsMan2VimSyntax

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 

snpsMan2VimSyntax

Author: Eric Roller
Created: 14th August, 2015

This Perl script parses Synopsys man pages to generate a Tcl-compatible syntax file for vim.

Details

Based on the Synopsys man pages for one or more of these tools installed on your system:

  • Design Compiler,
  • IC Compiler,
  • Formality, or
  • PrimeTime,

this Perl script will generate a single synopsys.vim syntax file for Vim, which can be used in combination with the standard Tcl syntax file, i.e. tcl.vim.

Only the script commands in the preformatted 'cat2' category are parsed. Syntax codes are generated for the command names as well as their options.

Given that man pages follow familiar rules, this script may also be used for other Synopsys tools, but it has only been tested for the tools listed above.

Other, pre-compiled .vim syntax files exist, but most are out-of-date. With snpsMan2VimSyntax, you can generate a syntax file that exactly matches the tool(s) that are installed on your system.

Using the Script

You need the Synopsys tools installed on your system. Begin by adding their $SYNOPSYS/bin paths to your $PATH. This is necessary such that the script can locate the executables, e.g. dc_shell, from which the man paths can be derived. Then run:

snpsMan2VimSyntax --verbose

This will search for the install paths of DC, FM, and PT (which may well be installed in separate directories), locate the man pages, and generate a synopsys.vim file. If you like, you can use a selected subset of the tools:

snpsMan2VimSyntax --verbose --tool dc --tool icc

For help and additional options, use:

snpsMan2VimSyntax --help

tcl.vim Version Support

Two distinct tcl.vim syntax definitions exist:

  • The standard tcl.vim file, maintained by Taylor Venable, which is pre-installed with vim-7.x;

  • The optional tcl.vim on www.vim.org script, maintained by SM Smithfield. To support this version, please add the --old-tcl-vim option:

        snpsMan2VimSyntax --verbose --old-tcl-vim
    

Installing the Syntax File

The aim is not to replace the tcl.vim file that already exists on your system. Instead, the synopsys.vim file is used to extend the Tcl syntax definitions. To do this, place the file here:

~/.vim/syntax/synopsys.vim

Next, create this add-on Tcl syntax definition file:

~/.vim/syntax/after/tcl.vim

and edit it to contain:

" Vim syntax file
" This file is loaded AFTER the standard tcl.vim file.

" Include the Synopsys commands.
source ~/.vim/syntax/synopsys.vim

" Additional syntax definitions:

Now open one of your Tcl scripts in vim and make sure you use :syntax on and :set syntax=tcl.

Requirements

  • The Synopsys tools need to be installed.

  • The script uses man to parse the man pages and col to remove colour codes.

  • To auto-detect standard Tcl commands, a stand-alone Tcl installation is needed. To check, see if tclsh is available. Or try man tclvars. If not installed, you can run snpsMan2VimSyntax with the --tcl option.

  • The syntax files have been tested with vim 7.3.

  • If you used the non-standard version of the tcl.vim syntax file, i.e. one written by SM Smithfield (see its header), use the --old-tcl-vim option to generate the syntax definitions.

License and Warranty

This script is distributed under the MIT License (MIT). See the enclosed LICENSE file for details.

About

Compiles a vim syntax file from Synopsys man pages (Perl script).

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages