{"action":"created","issue":{"url":"https://api.github.com/repos/isagalaev/highlight.js/issues/730","labels_url":"https://api.github.com/repos/isagalaev/highlight.js/issues/730/labels{/name}","comments_url":"https://api.github.com/repos/isagalaev/highlight.js/issues/730/comments","events_url":"https://api.github.com/repos/isagalaev/highlight.js/issues/730/events","html_url":"https://github.com/isagalaev/highlight.js/issues/730","id":56439010,"number":730,"title":"3 more issues with Elixir: interpolation, sigils and / functions","user":{"login":"eksperimental","id":9133420,"avatar_url":"https://avatars.githubusercontent.com/u/9133420?v=3","gravatar_id":"","url":"https://api.github.com/users/eksperimental","html_url":"https://github.com/eksperimental","followers_url":"https://api.github.com/users/eksperimental/followers","following_url":"https://api.github.com/users/eksperimental/following{/other_user}","gists_url":"https://api.github.com/users/eksperimental/gists{/gist_id}","starred_url":"https://api.github.com/users/eksperimental/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eksperimental/subscriptions","organizations_url":"https://api.github.com/users/eksperimental/orgs","repos_url":"https://api.github.com/users/eksperimental/repos","events_url":"https://api.github.com/users/eksperimental/events{/privacy}","received_events_url":"https://api.github.com/users/eksperimental/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/isagalaev/highlight.js/labels/bug","name":"bug","color":"f7c6c7"}],"state":"open","locked":false,"assignee":{"login":"Sannis","id":77367,"avatar_url":"https://avatars.githubusercontent.com/u/77367?v=3","gravatar_id":"","url":"https://api.github.com/users/Sannis","html_url":"https://github.com/Sannis","followers_url":"https://api.github.com/users/Sannis/followers","following_url":"https://api.github.com/users/Sannis/following{/other_user}","gists_url":"https://api.github.com/users/Sannis/gists{/gist_id}","starred_url":"https://api.github.com/users/Sannis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Sannis/subscriptions","organizations_url":"https://api.github.com/users/Sannis/orgs","repos_url":"https://api.github.com/users/Sannis/repos","events_url":"https://api.github.com/users/Sannis/events{/privacy}","received_events_url":"https://api.github.com/users/Sannis/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/isagalaev/highlight.js/milestones/11","html_url":"https://github.com/isagalaev/highlight.js/milestones/8.9","labels_url":"https://api.github.com/repos/isagalaev/highlight.js/milestones/11/labels","id":1291795,"number":11,"title":"8.9","description":"","creator":{"login":"Sannis","id":77367,"avatar_url":"https://avatars.githubusercontent.com/u/77367?v=3","gravatar_id":"","url":"https://api.github.com/users/Sannis","html_url":"https://github.com/Sannis","followers_url":"https://api.github.com/users/Sannis/followers","following_url":"https://api.github.com/users/Sannis/following{/other_user}","gists_url":"https://api.github.com/users/Sannis/gists{/gist_id}","starred_url":"https://api.github.com/users/Sannis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Sannis/subscriptions","organizations_url":"https://api.github.com/users/Sannis/orgs","repos_url":"https://api.github.com/users/Sannis/repos","events_url":"https://api.github.com/users/Sannis/events{/privacy}","received_events_url":"https://api.github.com/users/Sannis/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":1,"state":"open","created_at":"2015-09-05T11:45:18Z","updated_at":"2015-09-06T14:43:12Z","due_on":"2015-10-19T21:00:00Z","closed_at":null},"comments":1,"created_at":"2015-02-03T21:20:49Z","updated_at":"2015-09-07T08:09:28Z","closed_at":null,"body":"Hi!\r\nWe are adding hightlightjs to https://github.com/elixir-lang/ex_doc/\r\nand when I ran it against the [test file for pygments](https://bitbucket.org/birkenfeld/pygments-main/src/tip/tests/examplefiles/example_elixir.ex).\r\nIn addition to #707, I have run into three new issues:\r\n\r\n1) **Interpolation**: It cannot deal properly with interpolation.\r\nEvery single line bellow, has an issues, it takes it as a comment whatever comes after the #\r\n\r\n```elixir\r\n~R'this + i\\s \"a\" regex too'\r\n~w(hello #{ [\"has\" <> \"123\", '\\c\\d', \"\\123 interpol\" | []] } world)s\r\n~W(hello #{no \"123\" \\c\\d \\123 interpol} world)s\r\n~s{Escapes terminators \\{ and \\}, but no {balancing} # outside of sigil here }\r\n~S\"No escapes \\s\\t\\n and no #{interpolation}\"\r\n```\r\n\r\n2) **Sigils** : It cannot deal with these [`~S sigil`](http://elixir-lang.org/getting-started/sigils.html#interpolation-and-escaping-in-sigils). `~s` is fine though.\r\n\r\n```elixir\r\ndefmodule Long.Module.Name do\r\n  @doc ~S'''\r\n  No #{interpolation} of any kind.\r\n  \\000 \\x{ff}\r\n\r\n  \\n #{\\x{ff}}\r\n  '''\r\n  def func(a, b \\\\ []), do: :ok\r\n\r\n  @doc ~S\"\"\"\r\n  No #{interpolation} of any kind.\r\n  \\000 \\x{ff}\r\n\r\n  \\n #{\\x{ff}}\r\n  \"\"\"\r\n  def func(a, b \\\\ []), do: :ok\r\nend\r\n```\r\n\r\n3) **Function with a slash ( \"Kernel./\" )**: this one takes `/:` as the beggining of a regular expression\r\n```elixir\r\nimport Kernel, except: [spawn: 1, +: 2, /: 2, Unless: 2]\r\n```\r\n\r\nYou can see this live, \r\n* Original test doc page, with the problems: http://eksperimental.github.io/issues/highlightjs/Highlight.Elixir.html#pygments/0\r\n* Page with the problematic lines removed: http://eksperimental.github.io/issues/highlightjs/Highlight.Elixir+.html#pygments/0 \r\n\r\n @tonini  @knewter"},"comment":{"url":"https://api.github.com/repos/isagalaev/highlight.js/issues/comments/138226435","html_url":"https://github.com/isagalaev/highlight.js/issues/730#issuecomment-138226435","issue_url":"https://api.github.com/repos/isagalaev/highlight.js/issues/730","id":138226435,"user":{"login":"Sannis","id":77367,"avatar_url":"https://avatars.githubusercontent.com/u/77367?v=3","gravatar_id":"","url":"https://api.github.com/users/Sannis","html_url":"https://github.com/Sannis","followers_url":"https://api.github.com/users/Sannis/followers","following_url":"https://api.github.com/users/Sannis/following{/other_user}","gists_url":"https://api.github.com/users/Sannis/gists{/gist_id}","starred_url":"https://api.github.com/users/Sannis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Sannis/subscriptions","organizations_url":"https://api.github.com/users/Sannis/orgs","repos_url":"https://api.github.com/users/Sannis/repos","events_url":"https://api.github.com/users/Sannis/events{/privacy}","received_events_url":"https://api.github.com/users/Sannis/received_events","type":"User","site_admin":false},"created_at":"2015-09-07T08:09:28Z","updated_at":"2015-09-07T08:09:28Z","body":"@eksperimental to fix this I'm going to remove `constant` mode from Elixir definition. In fact it works bad here and in constructions like `IO.puts \"string\"` and also we will remove such extra modes in 9.0."}}