Mercurial > vim
annotate runtime/syntax/hercules.vim @ 33380:7ba7c38a9914
Added tag v9.0.1948 for changeset 7c9124711f997a267b94de49a7051f2f3294055c
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 28 Sep 2023 22:30:04 +0200 |
parents | 46763b01cd9a |
children |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: Hercules | |
3 " Maintainer: Dana Edwards <Dana_Edwards@avanticorp.com> | |
4 " Extensions: *.vc,*.ev,*.rs | |
5 " Last change: Nov. 9, 2001 | |
6 " Comment: Hercules physical IC design verification software ensures | |
7 " that an IC's physical design matches its logical design and | |
8 " satisfies manufacturing rules. | |
9 | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
10 " quit when a syntax file was already loaded |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
11 if exists("b:current_syntax") |
7 | 12 finish |
13 endif | |
14 | |
15 " Ignore case | |
16 syn case ignore | |
17 | |
18 " Hercules runset sections | |
19 syn keyword herculesType header assign_property alias assign | |
20 syn keyword herculesType options preprocess_options | |
21 syn keyword herculesType explode_options technology_options | |
22 syn keyword herculesType drc_options database_options | |
23 syn keyword herculesType text_options lpe_options evaccess_options | |
24 syn keyword herculesType check_point compare_group environment | |
25 syn keyword herculesType grid_check include layer_stats load_group | |
26 syn keyword herculesType restart run_only self_intersect set snap | |
27 syn keyword herculesType system variable waiver | |
28 | |
29 " Hercules commands | |
30 syn keyword herculesStatement attach_property boolean cell_extent | |
31 syn keyword herculesStatement common_hierarchy connection_points | |
32 syn keyword herculesStatement copy data_filter alternate delete | |
33 syn keyword herculesStatement explode explode_all fill_pattern find_net | |
34 syn keyword herculesStatement flatten | |
35 syn keyword herculesStatement level negate polygon_features push | |
36 syn keyword herculesStatement rectangles relocate remove_overlap reverse select | |
37 syn keyword herculesStatement select_cell select_contains select_edge select_net size | |
38 syn keyword herculesStatement text_polygon text_property vertex area cut | |
39 syn keyword herculesStatement density enclose external inside_edge | |
40 syn keyword herculesStatement internal notch vectorize center_to_center | |
41 syn keyword herculesStatement length mask_align moscheck rescheck | |
42 syn keyword herculesStatement analysis buildsub init_lpe_db capacitor | |
43 syn keyword herculesStatement device gendev nmos pmos diode npn pnp | |
44 syn keyword herculesStatement resistor set_param save_property | |
45 syn keyword herculesStatement connect disconnect text text_boolean | |
46 syn keyword herculesStatement replace_text create_ports label graphics | |
47 syn keyword herculesStatement save_netlist_database lpe_stats netlist | |
48 syn keyword herculesStatement spice graphics_property graphics_netlist | |
49 syn keyword herculesStatement write_milkyway multi_rule_enclose | |
50 syn keyword herculesStatement if error_property equate compare | |
51 syn keyword herculesStatement antenna_fix c_thru dev_connect_check | |
52 syn keyword herculesStatement dev_net_count device_count net_filter | |
53 syn keyword herculesStatement net_path_check ratio process_text_opens | |
54 | |
55 " Hercules keywords | |
56 syn keyword herculesStatement black_box_file block compare_dir equivalence | |
57 syn keyword herculesStatement format gdsin_dir group_dir group_dir_usage | |
58 syn keyword herculesStatement inlib layout_path outlib output_format | |
59 syn keyword herculesStatement output_layout_path schematic schematic_format | |
60 syn keyword herculesStatement scheme_file output_block else | |
61 syn keyword herculesStatement and or not xor andoverlap inside outside by to | |
62 syn keyword herculesStatement with connected connected_all texted_with texted | |
63 syn keyword herculesStatement by_property cutting edge_touch enclosing inside | |
64 syn keyword herculesStatement inside_hole interact touching vertex | |
65 | |
66 " Hercules comments | |
67 syn region herculesComment start="/\*" skip="/\*" end="\*/" contains=herculesTodo | |
68 syn match herculesComment "//.*" contains=herculesTodo | |
69 | |
70 " Preprocessor directives | |
71 syn match herculesPreProc "^#.*" | |
72 syn match herculesPreProc "^@.*" | |
73 syn match herculesPreProc "macros" | |
74 | |
75 " Hercules COMMENT option | |
76 syn match herculesCmdCmnt "comment.*=.*" | |
77 | |
78 " Spacings, Resolutions, Ranges, Ratios, etc. | |
79 syn match herculesNumber "-\=\<[0-9]\+L\=\>\|0[xX][0-9]\+\>" | |
80 | |
81 " Parenthesis sanity checker | |
82 syn region herculesZone matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" transparent contains=ALLBUT,herculesError,herculesBraceError,herculesCurlyError | |
83 syn region herculesZone matchgroup=Delimiter start="{" matchgroup=Delimiter end="}" transparent contains=ALLBUT,herculesError,herculesBraceError,herculesParenError | |
84 syn region herculesZone matchgroup=Delimiter start="\[" matchgroup=Delimiter end="]" transparent contains=ALLBUT,herculesError,herculesCurlyError,herculesParenError | |
85 syn match herculesError "[)\]}]" | |
86 syn match herculesBraceError "[)}]" contained | |
87 syn match herculesCurlyError "[)\]]" contained | |
88 syn match herculesParenError "[\]}]" contained | |
89 | |
90 " Hercules output format | |
91 "syn match herculesOutput "([0-9].*)" | |
92 "syn match herculesOutput "([0-9].*\;.*)" | |
93 syn match herculesOutput "perm\s*=.*(.*)" | |
94 syn match herculesOutput "temp\s*=\s*" | |
95 syn match herculesOutput "error\s*=\s*(.*)" | |
96 | |
97 "Modify the following as needed. The trade-off is performance versus functionality. | |
98 syn sync lines=100 | |
99 | |
100 " Define the default highlighting. | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
101 " Only when an item doesn't have highlighting yet |
7 | 102 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
103 hi def link herculesStatement Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
104 hi def link herculesType Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
105 hi def link herculesComment Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
106 hi def link herculesPreProc PreProc |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
107 hi def link herculesTodo Todo |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
108 hi def link herculesOutput Include |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
109 hi def link herculesCmdCmnt Identifier |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
110 hi def link herculesNumber Number |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
111 hi def link herculesBraceError herculesError |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
112 hi def link herculesCurlyError herculesError |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
113 hi def link herculesParenError herculesError |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
114 hi def link herculesError Error |
7 | 115 |
116 | |
117 let b:current_syntax = "hercules" | |
118 | |
119 " vim: ts=8 |