{"action":"created","comment":{"url":"https://api.github.com/repos/PrismJS/prism/pulls/comments/34417083","id":34417083,"diff_hunk":"@@ -0,0 +1,23 @@\n+Prism.languages.system_verilog = {\n+  'comment': /\\/\\/.*|\\/\\*[\\w\\W]*?\\*\\//,\n+  'string': /\"(\\\\\\n|\\\\?.)*?\"/,\n+  // support for any kernel function (ex: $display())\n+  'property': /(?!\\b)\\$\\w+\\b/,\n+  // support for user defined constants (ex: `define)\n+  'constant': /(?!\\b)`\\w+\\b/,\n+  'function': {\n+    'pattern': /[a-z0-9_]+\\(/i,\n+    'inside': {\n+      'punctuation': /\\(/\n+    }","path":"components/prism-system_verilog.js","position":12,"original_position":12,"commit_id":"8d43cdfb6886402af46b623dcb97b26439a43452","original_commit_id":"8d43cdfb6886402af46b623dcb97b26439a43452","user":{"login":"Golmote","id":565460,"avatar_url":"https://avatars.githubusercontent.com/u/565460?v=3","gravatar_id":"","url":"https://api.github.com/users/Golmote","html_url":"https://github.com/Golmote","followers_url":"https://api.github.com/users/Golmote/followers","following_url":"https://api.github.com/users/Golmote/following{/other_user}","gists_url":"https://api.github.com/users/Golmote/gists{/gist_id}","starred_url":"https://api.github.com/users/Golmote/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Golmote/subscriptions","organizations_url":"https://api.github.com/users/Golmote/orgs","repos_url":"https://api.github.com/users/Golmote/repos","events_url":"https://api.github.com/users/Golmote/events{/privacy}","received_events_url":"https://api.github.com/users/Golmote/received_events","type":"User","site_admin":false},"body":"Here, it would probably be better to use a look-ahead instead of the `inside` (since the parenthesis will be highlighted by the `punctuation` pattern anyway):\r\n\r\n```\r\n'function': {\r\n    'pattern': /[a-z0-9_]+(?=\\()/i\r\n},\r\n```","created_at":"2015-07-11T23:06:14Z","updated_at":"2015-07-11T23:06:14Z","html_url":"https://github.com/PrismJS/prism/pull/640#discussion_r34417083","pull_request_url":"https://api.github.com/repos/PrismJS/prism/pulls/640","_links":{"self":{"href":"https://api.github.com/repos/PrismJS/prism/pulls/comments/34417083"},"html":{"href":"https://github.com/PrismJS/prism/pull/640#discussion_r34417083"},"pull_request":{"href":"https://api.github.com/repos/PrismJS/prism/pulls/640"}}},"pull_request":{"url":"https://api.github.com/repos/PrismJS/prism/pulls/640","id":39752341,"html_url":"https://github.com/PrismJS/prism/pull/640","diff_url":"https://github.com/PrismJS/prism/pull/640.diff","patch_url":"https://github.com/PrismJS/prism/pull/640.patch","issue_url":"https://api.github.com/repos/PrismJS/prism/issues/640","number":640,"state":"open","locked":false,"title":"adding system verilog language","user":{"login":"a-rey","id":5330831,"avatar_url":"https://avatars.githubusercontent.com/u/5330831?v=3","gravatar_id":"","url":"https://api.github.com/users/a-rey","html_url":"https://github.com/a-rey","followers_url":"https://api.github.com/users/a-rey/followers","following_url":"https://api.github.com/users/a-rey/following{/other_user}","gists_url":"https://api.github.com/users/a-rey/gists{/gist_id}","starred_url":"https://api.github.com/users/a-rey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/a-rey/subscriptions","organizations_url":"https://api.github.com/users/a-rey/orgs","repos_url":"https://api.github.com/users/a-rey/repos","events_url":"https://api.github.com/users/a-rey/events{/privacy}","received_events_url":"https://api.github.com/users/a-rey/received_events","type":"User","site_admin":false},"body":"#### Hello! \r\n\r\nI use some hardware description languages in a website of mine and was sad to see they are not all supported by Prism. Here is my proposed Prism support for the [System Verilog](https://en.wikipedia.org/wiki/SystemVerilog) and [Verilog](https://en.wikipedia.org/wiki/Verilog) languages. Since System Verilog is just an extension of Verilog, I combined both into one. The file can be used to highlight either language. I also added an example for you guys to take a look at if you are not familiar with the syntax. [This handout](http://web.stanford.edu/class/ee183/handouts_win2003/VerilogQuickRef.pdf) is a great reference for syntax rules. Let me know if there are any issues!\r\n\r\nHere is some sample code:\r\n![screen shot 2015-07-11 at 5 05 09 pm](https://cloud.githubusercontent.com/assets/5330831/8635401/0d7417a0-27ef-11e5-9488-8bdcfcb1a301.png)\r\n\r\n","created_at":"2015-07-11T21:10:23Z","updated_at":"2015-07-11T23:06:14Z","closed_at":null,"merged_at":null,"merge_commit_sha":"7d9cf10ab9676347108e8045b177c5da700df183","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/PrismJS/prism/pulls/640/commits","review_comments_url":"https://api.github.com/repos/PrismJS/prism/pulls/640/comments","review_comment_url":"https://api.github.com/repos/PrismJS/prism/pulls/comments{/number}","comments_url":"https://api.github.com/repos/PrismJS/prism/issues/640/comments","statuses_url":"https://api.github.com/repos/PrismJS/prism/statuses/8d43cdfb6886402af46b623dcb97b26439a43452","head":{"label":"a-rey:gh-pages","ref":"gh-pages","sha":"8d43cdfb6886402af46b623dcb97b26439a43452","user":{"login":"a-rey","id":5330831,"avatar_url":"https://avatars.githubusercontent.com/u/5330831?v=3","gravatar_id":"","url":"https://api.github.com/users/a-rey","html_url":"https://github.com/a-rey","followers_url":"https://api.github.com/users/a-rey/followers","following_url":"https://api.github.com/users/a-rey/following{/other_user}","gists_url":"https://api.github.com/users/a-rey/gists{/gist_id}","starred_url":"https://api.github.com/users/a-rey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/a-rey/subscriptions","organizations_url":"https://api.github.com/users/a-rey/orgs","repos_url":"https://api.github.com/users/a-rey/repos","events_url":"https://api.github.com/users/a-rey/events{/privacy}","received_events_url":"https://api.github.com/users/a-rey/received_events","type":"User","site_admin":false},"repo":{"id":38937809,"name":"prism","full_name":"a-rey/prism","owner":{"login":"a-rey","id":5330831,"avatar_url":"https://avatars.githubusercontent.com/u/5330831?v=3","gravatar_id":"","url":"https://api.github.com/users/a-rey","html_url":"https://github.com/a-rey","followers_url":"https://api.github.com/users/a-rey/followers","following_url":"https://api.github.com/users/a-rey/following{/other_user}","gists_url":"https://api.github.com/users/a-rey/gists{/gist_id}","starred_url":"https://api.github.com/users/a-rey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/a-rey/subscriptions","organizations_url":"https://api.github.com/users/a-rey/orgs","repos_url":"https://api.github.com/users/a-rey/repos","events_url":"https://api.github.com/users/a-rey/events{/privacy}","received_events_url":"https://api.github.com/users/a-rey/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/a-rey/prism","description":"Lightweight, robust, elegant syntax highlighting.","fork":true,"url":"https://api.github.com/repos/a-rey/prism","forks_url":"https://api.github.com/repos/a-rey/prism/forks","keys_url":"https://api.github.com/repos/a-rey/prism/keys{/key_id}","collaborators_url":"https://api.github.com/repos/a-rey/prism/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/a-rey/prism/teams","hooks_url":"https://api.github.com/repos/a-rey/prism/hooks","issue_events_url":"https://api.github.com/repos/a-rey/prism/issues/events{/number}","events_url":"https://api.github.com/repos/a-rey/prism/events","assignees_url":"https://api.github.com/repos/a-rey/prism/assignees{/user}","branches_url":"https://api.github.com/repos/a-rey/prism/branches{/branch}","tags_url":"https://api.github.com/repos/a-rey/prism/tags","blobs_url":"https://api.github.com/repos/a-rey/prism/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/a-rey/prism/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/a-rey/prism/git/refs{/sha}","trees_url":"https://api.github.com/repos/a-rey/prism/git/trees{/sha}","statuses_url":"https://api.github.com/repos/a-rey/prism/statuses/{sha}","languages_url":"https://api.github.com/repos/a-rey/prism/languages","stargazers_url":"https://api.github.com/repos/a-rey/prism/stargazers","contributors_url":"https://api.github.com/repos/a-rey/prism/contributors","subscribers_url":"https://api.github.com/repos/a-rey/prism/subscribers","subscription_url":"https://api.github.com/repos/a-rey/prism/subscription","commits_url":"https://api.github.com/repos/a-rey/prism/commits{/sha}","git_commits_url":"https://api.github.com/repos/a-rey/prism/git/commits{/sha}","comments_url":"https://api.github.com/repos/a-rey/prism/comments{/number}","issue_comment_url":"https://api.github.com/repos/a-rey/prism/issues/comments{/number}","contents_url":"https://api.github.com/repos/a-rey/prism/contents/{+path}","compare_url":"https://api.github.com/repos/a-rey/prism/compare/{base}...{head}","merges_url":"https://api.github.com/repos/a-rey/prism/merges","archive_url":"https://api.github.com/repos/a-rey/prism/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/a-rey/prism/downloads","issues_url":"https://api.github.com/repos/a-rey/prism/issues{/number}","pulls_url":"https://api.github.com/repos/a-rey/prism/pulls{/number}","milestones_url":"https://api.github.com/repos/a-rey/prism/milestones{/number}","notifications_url":"https://api.github.com/repos/a-rey/prism/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/a-rey/prism/labels{/name}","releases_url":"https://api.github.com/repos/a-rey/prism/releases{/id}","created_at":"2015-07-11T19:28:43Z","updated_at":"2015-07-11T19:28:44Z","pushed_at":"2015-07-11T20:59:14Z","git_url":"git://github.com/a-rey/prism.git","ssh_url":"git@github.com:a-rey/prism.git","clone_url":"https://github.com/a-rey/prism.git","svn_url":"https://github.com/a-rey/prism","homepage":"http://prismjs.com","size":5313,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"gh-pages"}},"base":{"label":"PrismJS:gh-pages","ref":"gh-pages","sha":"fe0a068a6198a823b3286da374237a2e9e0ec662","user":{"login":"PrismJS","id":11140484,"avatar_url":"https://avatars.githubusercontent.com/u/11140484?v=3","gravatar_id":"","url":"https://api.github.com/users/PrismJS","html_url":"https://github.com/PrismJS","followers_url":"https://api.github.com/users/PrismJS/followers","following_url":"https://api.github.com/users/PrismJS/following{/other_user}","gists_url":"https://api.github.com/users/PrismJS/gists{/gist_id}","starred_url":"https://api.github.com/users/PrismJS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PrismJS/subscriptions","organizations_url":"https://api.github.com/users/PrismJS/orgs","repos_url":"https://api.github.com/users/PrismJS/repos","events_url":"https://api.github.com/users/PrismJS/events{/privacy}","received_events_url":"https://api.github.com/users/PrismJS/received_events","type":"Organization","site_admin":false},"repo":{"id":4979467,"name":"prism","full_name":"PrismJS/prism","owner":{"login":"PrismJS","id":11140484,"avatar_url":"https://avatars.githubusercontent.com/u/11140484?v=3","gravatar_id":"","url":"https://api.github.com/users/PrismJS","html_url":"https://github.com/PrismJS","followers_url":"https://api.github.com/users/PrismJS/followers","following_url":"https://api.github.com/users/PrismJS/following{/other_user}","gists_url":"https://api.github.com/users/PrismJS/gists{/gist_id}","starred_url":"https://api.github.com/users/PrismJS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PrismJS/subscriptions","organizations_url":"https://api.github.com/users/PrismJS/orgs","repos_url":"https://api.github.com/users/PrismJS/repos","events_url":"https://api.github.com/users/PrismJS/events{/privacy}","received_events_url":"https://api.github.com/users/PrismJS/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PrismJS/prism","description":"Lightweight, robust, elegant syntax highlighting.","fork":false,"url":"https://api.github.com/repos/PrismJS/prism","forks_url":"https://api.github.com/repos/PrismJS/prism/forks","keys_url":"https://api.github.com/repos/PrismJS/prism/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PrismJS/prism/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PrismJS/prism/teams","hooks_url":"https://api.github.com/repos/PrismJS/prism/hooks","issue_events_url":"https://api.github.com/repos/PrismJS/prism/issues/events{/number}","events_url":"https://api.github.com/repos/PrismJS/prism/events","assignees_url":"https://api.github.com/repos/PrismJS/prism/assignees{/user}","branches_url":"https://api.github.com/repos/PrismJS/prism/branches{/branch}","tags_url":"https://api.github.com/repos/PrismJS/prism/tags","blobs_url":"https://api.github.com/repos/PrismJS/prism/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PrismJS/prism/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PrismJS/prism/git/refs{/sha}","trees_url":"https://api.github.com/repos/PrismJS/prism/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PrismJS/prism/statuses/{sha}","languages_url":"https://api.github.com/repos/PrismJS/prism/languages","stargazers_url":"https://api.github.com/repos/PrismJS/prism/stargazers","contributors_url":"https://api.github.com/repos/PrismJS/prism/contributors","subscribers_url":"https://api.github.com/repos/PrismJS/prism/subscribers","subscription_url":"https://api.github.com/repos/PrismJS/prism/subscription","commits_url":"https://api.github.com/repos/PrismJS/prism/commits{/sha}","git_commits_url":"https://api.github.com/repos/PrismJS/prism/git/commits{/sha}","comments_url":"https://api.github.com/repos/PrismJS/prism/comments{/number}","issue_comment_url":"https://api.github.com/repos/PrismJS/prism/issues/comments{/number}","contents_url":"https://api.github.com/repos/PrismJS/prism/contents/{+path}","compare_url":"https://api.github.com/repos/PrismJS/prism/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PrismJS/prism/merges","archive_url":"https://api.github.com/repos/PrismJS/prism/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PrismJS/prism/downloads","issues_url":"https://api.github.com/repos/PrismJS/prism/issues{/number}","pulls_url":"https://api.github.com/repos/PrismJS/prism/pulls{/number}","milestones_url":"https://api.github.com/repos/PrismJS/prism/milestones{/number}","notifications_url":"https://api.github.com/repos/PrismJS/prism/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PrismJS/prism/labels{/name}","releases_url":"https://api.github.com/repos/PrismJS/prism/releases{/id}","created_at":"2012-07-10T19:47:14Z","updated_at":"2015-07-11T17:13:48Z","pushed_at":"2015-07-11T21:10:23Z","git_url":"git://github.com/PrismJS/prism.git","ssh_url":"git@github.com:PrismJS/prism.git","clone_url":"https://github.com/PrismJS/prism.git","svn_url":"https://github.com/PrismJS/prism","homepage":"http://prismjs.com","size":5313,"stargazers_count":2289,"watchers_count":2289,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":328,"mirror_url":null,"open_issues_count":120,"forks":328,"open_issues":120,"watchers":2289,"default_branch":"gh-pages"}},"_links":{"self":{"href":"https://api.github.com/repos/PrismJS/prism/pulls/640"},"html":{"href":"https://github.com/PrismJS/prism/pull/640"},"issue":{"href":"https://api.github.com/repos/PrismJS/prism/issues/640"},"comments":{"href":"https://api.github.com/repos/PrismJS/prism/issues/640/comments"},"review_comments":{"href":"https://api.github.com/repos/PrismJS/prism/pulls/640/comments"},"review_comment":{"href":"https://api.github.com/repos/PrismJS/prism/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/PrismJS/prism/pulls/640/commits"},"statuses":{"href":"https://api.github.com/repos/PrismJS/prism/statuses/8d43cdfb6886402af46b623dcb97b26439a43452"}}}}