8000 coderay/Changes-pre-1.0.textile at master · dradtke/coderay · GitHub
[go: up one dir, main page]

Skip to content
{"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":"bench","path":"bench","contentType":"directory"},{"name":"bin","path":"bin","contentType":"directory"},{"name":"lib","path":"lib","contentType":"directory"},{"name":"rake_tasks","path":"rake_tasks","contentType":"directory"},{"name":"test","path":"test","contentType":"directory"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".travis.yml","path":".travis.yml","contentType":"file"},{"name":"CREDITS.textile","path":"CREDITS.textile","contentType":"file"},{"name":"Changes-pre-1.0.textile","path":"Changes-pre-1.0.textile","contentType":"file"},{"name":"Changes.textile","path":"Changes.textile","contentType":"file"},{"name":"FOLDERS","path":"FOLDERS","contentType":"file"},{"name":"Gemfile","path":"Gemfile","contentType":"file"},{"name":"MIT-LICENSE.txt","path":"MIT-LICENSE.txt","contentType":"file"},{"name":"README.markdown","path":"README.markdown","contentType":"file"},{"name":"README_INDEX.rdoc","path":"README_INDEX.rdoc","contentType":"file"},{"name":"Rakefile","path":"Rakefile","contentType":"file"},{"name":"coderay.gemspec","path":"coderay.gemspec","contentType":"file"}],"totalCount":17}},"fileTreeProcessingTime":9.778388000000001,"foldersToFetch":[],"incompleteFileTree":false,"repo":{"id":11263010,"defaultBranch":"master","name":"coderay","ownerLogin":"dradtke","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2013-07-08T19:20:12.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/929204?v=4","public":true,"private":false,"isOrgOwned":false},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"master","listCacheKey":"v0:1617335447.9210482","canEdit":false,"refType":"branch","currentOid":"8b78006e55d154c627d3582d29c7078ac9b3bdea"},"path":"Changes-pre-1.0.textile","currentUser":null,"blob":{"rawLines":null,"stylingDirectives":null,"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/dradtke/coderay/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"Changes-pre-1.0.textile","displayUrl":"https://github.com/dradtke/coderay/blob/master/Changes-pre-1.0.textile?raw=true","headerInfo":{"blobSize":"12 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"d094ff3","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fdradtke%2Fcoderay%2Fblob%2Fmaster%2FChanges-pre-1.0.textile","isCSV":false,"isRichtext":true,"toc":[{"level":1,"text":"CodeRay Version History","anchor":"coderay-version-history","htmlText":"CodeRay Version History"},{"level":2,"text":"Changes in 0.9.8 “banister” [2011-05-01]","anchor":"changes-in-098-banister-2011-05-01","htmlText":"Changes in 0.9.8 “banister” [2011-05-01]"},{"level":3,"text":"Rake tasks","anchor":"rake-tasks","htmlText":"Rake tasks"},{"level":3,"text":"Scanners::Scanner","anchor":"scannersscanner","htmlText":"Scanners::Scanner"},{"level":3,"text":"Scanners::CSS","anchor":"scannerscss","htmlText":"Scanners::CSS"},{"level":3,"text":"Scanners::Ruby","anchor":"scannersruby","htmlText":"Scanners::Ruby"},{"level":3,"text":"Scanners::SQL","anchor":"scannerssql","htmlText":"Scanners::SQL"},{"level":3,"text":"FileType","anchor":"filetype","htmlText":"FileType"},{"level":2,"text":"Changes in 0.9.7 “Etienne” [2011-01-14]","anchor":"changes-in-097-etienne-2011-01-14","htmlText":"Changes in 0.9.7 “Etienne” [2011-01-14]"},{"level":3,"text":"Tests","anchor":"tests","htmlText":"Tests"},{"level":3,"text":"Scanners::JavaScript","anchor":"scannersjavascript","htmlText":"Scanners::JavaScript"},{"level":2,"text":"Changes in 0.9.6 “WoNáDo” [2010-11-25]","anchor":"changes-in-096-wonádo-2010-11-25","htmlText":"Changes in 0.9.6 “WoNáDo” [2010-11-25]"},{"level":3,"text":"Scanners::Ruby","anchor":"scannersruby-1","htmlText":"Scanners::Ruby"},{"level":2,"text":"Changes in 0.9.5 “Germany.rb” [2010-09-28]","anchor":"changes-in-095-germanyrb-2010-09-28","htmlText":"Changes in 0.9.5 “Germany.rb” [2010-09-28]"},{"level":3,"text":"Encoders::HTML","anchor":"encodershtml","htmlText":"Encoders::HTML"},{"level":3,"text":"Scanner::Scanner","anchor":"scannerscanner","htmlText":"Scanner::Scanner"},{"level":3,"text":"Scanners::CSS","anchor":"scannerscss-1","htmlText":"Scanners::CSS"},{"level":3,"text":"Scanners::Diff","anchor":"scannersdiff","htmlText":"Scanners::Diff"},{"level":3,"text":"Scanners::PHP","anchor":"scannersphp","htmlText":"Scanners::PHP"},{"level":3,"text":"Scanners::Ruby","anchor":"scannersruby-2","htmlText":"Scanners::Ruby"},{"level":3,"text":"Scanners::SQL","anchor":"scannerssql-1","htmlText":"Scanners::SQL"},{"level":2,"text":"Changes in 0.9.4 “Ramadan” [2010-08-31]","anchor":"changes-in-094-ramadan-2010-08-31","htmlText":"Changes in 0.9.4 “Ramadan” [2010-08-31]"},{"level":3,"text":"coderay executable","anchor":"coderay-executable","htmlText":"coderay executable"},{"level":3,"text":"Scanners::Diff","anchor":"scannersdiff-1","htmlText":"Scanners::Diff"},{"level":3,"text":"Scanners::HTML","anchor":"scannershtml","htmlText":"Scanners::HTML"},{"level":3,"text":"Scanners::RHTML","anchor":"scannersrhtml","htmlText":"Scanners::RHTML"},{"level":2,"text":"Changes in 0.9.3 “Eyjafjallajökull” [2010-04-18]","anchor":"changes-in-093-eyjafjallajökull-2010-04-18","htmlText":"Changes in 0.9.3 “Eyjafjallajökull” [2010-04-18]"},{"level":3,"text":"coderay executable","anchor":"coderay-executable-1","htmlText":"coderay executable"},{"level":3,"text":"Scanners::JavaScript","anchor":"scannersjavascript-1","htmlText":"Scanners::JavaScript"},{"level":3,"text":"Scanners::Java, Scanners::JSON","anchor":"scannersjava-scannersjson","htmlText":"Scanners::Java, Scanners::JSON"},{"level":2,"text":"Changes in 0.9.2 “Flameeyes” [2010-03-14]","anchor":"changes-in-092-flameeyes-2010-03-14","htmlText":"Changes in 0.9.2 “Flameeyes” [2010-03-14]"},{"level":3,"text":"Encoders::Term","anchor":"encodersterm","htmlText":"Encoders::Term"},{"level":3,"text":"Scanners::Debug","anchor":"scannersdebug","htmlText":"Scanners::Debug"},{"level":3,"text":"Scanners::Groovy","anchor":"scannersgroovy","htmlText":"Scanners::Groovy"},{"level":3,"text":"Scanners::PHP","anchor":"scannersphp-1","htmlText":"Scanners::PHP"},{"level":3,"text":"Scanners::YAML","anchor":"scannersyaml","htmlText":"Scanners::YAML"},{"level":2,"text":"Changes in 0.9.1 [2009-12-31]","anchor":"changes-in-091-2009-12-31","htmlText":"Changes in 0.9.1 [2009-12-31]"},{"level":3,"text":"Token classes","anchor":"token-classes","htmlText":"Token classes"},{"level":3,"text":"Tokens","anchor":"tokens","htmlText":"Tokens"},{"level":3,"text":"Encoders::Encoder","anchor":"encodersencoder","htmlText":"Encoders::Encoder"},{"level":3,"text":"Encoders::Tokens","anchor":"encoderstokens","htmlText":"Encoders::Tokens"},{"level":3,"text":"Encoders::Filter","anchor":"encodersfilter","htmlText":"Encoders::Filter"},{"level":3,"text":"Encoders::TokenClassFilter","anchor":"encoderstokenclassfilter","htmlText":"Encoders::TokenClassFilter"},{"level":3,"text":"Encoders::CommentFilter","anchor":"encoderscommentfilter","htmlText":"Encoders::CommentFilter"},{"level":3,"text":"Encoders::LinesOfCode","anchor":"encoderslinesofcode","htmlText":"Encoders::LinesOfCode"},{"level":3,"text":"Encoders::JSON","anchor":"encodersjson","htmlText":"Encoders::JSON"},{"level":3,"text":"Encoders::Term","anchor":"encodersterm-1","htmlText":"Encoders::Term"},{"level":3,"text":"Encoders::HTML","anchor":"encodershtml-1","htmlText":"Encoders::HTML"},{"level":3,"text":"Encoders::Text","anchor":"encoderstext","htmlText":"Encoders::Text"},{"level":3,"text":"Encoders::XML","anchor":"encodersxml","htmlText":"Encoders::XML"},{"level":3,"text":"Scanners","anchor":"scanners","htmlText":"Scanners"},{"level":3,"text":"Scanners::Scanner","anchor":"scannersscanner-1","htmlText":"Scanners::Scanner"},{"level":3,"text":"Scanners::Cpp","anchor":"scannerscpp","htmlText":"Scanners::Cpp"},{"level":3,"text":"Scanners::Groovy","anchor":"scannersgroovy-1","htmlText":"Scanners::Groovy"},{"level":3,"text":"Scanners::Python","anchor":"scannerspython","htmlText":"Scanners::Python"},{"level":3,"text":"Scanners::PHP","anchor":"scannersphp-2","htmlText":"Scanners::PHP"},{"level":3,"text":"Scanners::SQL","anchor":"scannerssql-2","htmlText":"Scanners::SQL"},{"level":3,"text":"Scanners::C","anchor":"scannersc","htmlText":"Scanners::C"},{"level":3,"text":"Scanners::CSS","anchor":"scannerscss-2","htmlText":"Scanners::CSS"},{"level":3,"text":"Scanners::Delphi","anchor":"scannersdelphi","htmlText":"Scanners::Delphi"},{"level":3,"text":"Scanners::Java","anchor":"scannersjava","htmlText":"Scanners::Java"},{"level":3,"text":"Scanners::JavaScript","anchor":"scannersjavascript-2","htmlText":"Scanners::JavaScript"},{"level":3,"text":"Scanners::JSON","anchor":"scannersjson","htmlText":"Scanners::JSON"},{"level":3,"text":"Scanners::Ruby","anchor":"scannersruby-3","htmlText":"Scanners::Ruby"},{"level":3,"text":"Scanners::YAML","anchor":"scannersyaml-1","htmlText":"Scanners::YAML"},{"level":3,"text":"Styles::Cycnus","anchor":"stylescycnus","htmlText":"Styles::Cycnus"},{"level":3,"text":"Plugin","anchor":"plugin","htmlText":"Plugin"},{"level":3,"text":"FileType","anchor":"filetype-1","htmlText":"FileType"},{"level":3,"text":"CaseIgnoringWordList","anchor":"caseignoringwordlist","htmlText":"CaseIgnoringWordList"},{"level":3,"text":"ForRedCloth","anchor":"forredcloth","htmlText":"ForRedCloth"},{"level":3,"text":"Cleanups","anchor":"cleanups","htmlText":"Cleanups"}],"lineInfo":{"truncatedLoc":"421","truncatedSloc":"253"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Textile","languageID":373,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/dradtke/coderay/blob/master/Changes-pre-1.0.textile","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/dradtke/coderay/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/dradtke/coderay/raw/refs/heads/master/Changes-pre-1.0.textile","renderImageOrRaw":false,"richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCodeRay Version History\u003c/h1\u003e\u003ca id=\"user-content-coderay-version-history\" class=\"anchor\" aria-label=\"Permalink: CodeRay Version History\" href=\"#coderay-version-history\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cem\u003eThis files lists all changes in the CodeRay library since the 0.8.4 release.\u003c/em\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e{{toc}}\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eChanges in 0.9.8 “banister” [2011-05-01]\u003c/h2\u003e\u003ca id=\"user-content-changes-in-098-banister-2011-05-01\" class=\"anchor\" aria-label=\"Permalink: Changes in 0.9.8 “banister” [2011-05-01]\" href=\"#changes-in-098-banister-2011-05-01\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eFixes for JRuby’s 1.9 mode and minor issues.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eRake tasks\u003c/h3\u003e\u003ca id=\"user-content-rake-tasks\" class=\"anchor\" aria-label=\"Permalink: Rake tasks\" href=\"#rake-tasks\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eREMOVED\u003c/span\u003e\u003c/strong\u003e obsolete \u003ccode\u003ehas_rdoc\u003c/code\u003e gem specification, fixing a warning.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::Scanner\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersscanner\" class=\"anchor\" aria-label=\"Permalink: Scanners::Scanner\" href=\"#scannersscanner\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e method \u003ccode\u003e#scan_rest\u003c/code\u003e replaces \u003ccode\u003escan_until(/\\z/)\u003c/code\u003e, which is broken in JRuby 1.6 —1.9 mode.\u003cbr\u003e\n See \u003ca href=\"http://odd-eyed-code.org/issues/297\" rel=\"nofollow\"\u003e#297\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::CSS\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannerscss\" class=\"anchor\" aria-label=\"Permalink: Scanners::CSS\" href=\"#scannerscss\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e \u003cspan\u003eLOC\u003c/span\u003e counting (should be 0).\u003cbr\u003e\n See \u003ca href=\"http://odd-eyed-code.org/issues/296\" rel=\"nofollow\"\u003e#296\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::Ruby\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersruby\" class=\"anchor\" aria-label=\"Permalink: Scanners::Ruby\" href=\"#scannersruby\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e the \u003ccode\u003eIDENT\u003c/code\u003e pattern not to use character properties, which are broken in JRuby 1.6 —1.9 mode.\u003cbr\u003e\n See \u003ca href=\"http://odd-eyed-code.org/issues/297\" rel=\"nofollow\"\u003e#297\u003c/a\u003e, thanks to banister for reporting!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::SQL\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannerssql\" class=\"anchor\" aria-label=\"Permalink: Scanners::SQL\" href=\"#scannerssql\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eADDED\u003c/span\u003e\u003c/strong\u003e more keywords: \u003ccode\u003ebetween\u003c/code\u003e, \u003ccode\u003edatabases\u003c/code\u003e, \u003ccode\u003edistinct\u003c/code\u003e, \u003ccode\u003efields\u003c/code\u003e, \u003ccode\u003efull\u003c/code\u003e, \u003ccode\u003ehaving\u003c/code\u003e, \u003ccode\u003eis\u003c/code\u003e, \u003ccode\u003eprompt\u003c/code\u003e, \u003ccode\u003etables\u003c/code\u003e.\u003cbr\u003e\n See \u003ca href=\"http://odd-eyed-code.org/issues/221\" rel=\"nofollow\"\u003e#221\u003c/a\u003e, thanks to Etienne Massip again.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eFileType\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-filetype\" class=\"anchor\" aria-label=\"Permalink: FileType\" href=\"#filetype\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e regonizes ColdFusion file type extensions \u003ccode\u003e.cfm\u003c/code\u003e and \u003ccode\u003e.cfc\u003c/code\u003e as \u003cspan\u003eXML\u003c/span\u003e.\u003cbr\u003e\n See \u003ca href=\"http://odd-eyed-code.org/issues/298\" rel=\"nofollow\"\u003e#298\u003c/a\u003e, thanks to Emidio Stani.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eChanges in 0.9.7 “Etienne” [2011-01-14]\u003c/h2\u003e\u003ca id=\"user-content-changes-in-097-etienne-2011-01-14\" class=\"anchor\" aria-label=\"Permalink: Changes in 0.9.7 “Etienne” [2011-01-14]\" href=\"#changes-in-097-etienne-2011-01-14\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eFixes a dangerous JavaScript scanner bug, and a testing problem with Ruby 1.9.1.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eTests\u003c/h3\u003e\u003ca id=\"user-content-tests\" class=\"anchor\" aria-label=\"Permalink: Tests\" href=\"#tests\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e The functional tests now load the lib directory (instead of the gem) in Ruby 1.9.1.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::JavaScript\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersjavascript\" class=\"anchor\" aria-label=\"Permalink: Scanners::JavaScript\" href=\"#scannersjavascript\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e \u003ccode\u003eKEY_CHECK_PATTERN\u003c/code\u003e regexp\u003cbr\u003e\n See \u003ca href=\"http://odd-eyed-code.org/issues/264\" rel=\"nofollow\"\u003e#264\u003c/a\u003e, thanks to Etienne Massip!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eChanges in 0.9.6 “WoNáDo” [2010-11-25]\u003c/h2\u003e\u003ca id=\"user-content-changes-in-096-wonádo-2010-11-25\" class=\"anchor\" aria-label=\"Permalink: Changes in 0.9.6 “WoNáDo” [2010-11-25]\" href=\"#changes-in-096-wonádo-2010-11-25\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eMinor improvements to the Ruby scanner and a fix for Ruby 1.9.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::Ruby\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersruby-1\" class=\"anchor\" aria-label=\"Permalink: Scanners::Ruby\" href=\"#scannersruby-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e handling of new hash syntax (keys are marked as \u003ccode\u003e:key\u003c/code\u003e now,\u003cbr\u003e\n colon is a separate \u003ccode\u003e:operator\u003c/code\u003e token, all idents can be used as keys)\u003cbr\u003e\n See \u003ca href=\"http://code.licenser.net/issues/257\" rel=\"nofollow\"\u003e#257\u003c/a\u003e, thanks to WoNáDo!\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eADDED\u003c/span\u003e\u003c/strong\u003e \u003ccode\u003e__ENCODING__\u003c/code\u003e magic constant (Ruby 1.9)\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e: Scanner no longer tries to modify the input string on Ruby 1.9.\u003cbr\u003e\n See \u003ca href=\"http://code.licenser.net/issues/260\" rel=\"nofollow\"\u003e#260\u003c/a\u003e, thanks to Jan Lelis!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eChanges in 0.9.5 “Germany.rb” [2010-09-28]\u003c/h2\u003e\u003ca id=\"user-content-changes-in-095-germanyrb-2010-09-28\" class=\"anchor\" aria-label=\"Permalink: Changes in 0.9.5 “Germany.rb” [2010-09-28]\" href=\"#changes-in-095-germanyrb-2010-09-28\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eSupport for Rubinius (\u003ca href=\"http://odd-eyed-code.org/issues/251\" rel=\"nofollow\"\u003e#251\u003c/a\u003e), improved mutlibyte handling, Ruby 1.9 syntax, and valid \u003cspan\u003eHTML\u003c/span\u003e.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eEncoders::HTML\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-encodershtml\" class=\"anchor\" aria-label=\"Permalink: Encoders::HTML\" href=\"#encodershtml\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e: Line tokens use \u003ccode\u003espan\u003c/code\u003e with \u003ccode\u003edisplay: block\u003c/code\u003e instead of \u003ccode\u003ediv\u003c/code\u003e, which was invalid \u003cspan\u003eHTML\u003c/span\u003e (\u003ca href=\"http://odd-eyed-code.org/issues/255\" rel=\"nofollow\"\u003e#255\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanner::Scanner\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannerscanner\" class=\"anchor\" aria-label=\"Permalink: Scanner::Scanner\" href=\"#scannerscanner\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 8000 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e handling of encodings in Ruby 1.9: \u003cspan\u003eUTF\u003c/span\u003e-8 and Windows-1252 are checked.\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e: Invalid chars will be converted to \u003ccode\u003e?\u003c/code\u003e in Ruby 1.9.\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e \u003ccode\u003estring=\u003c/code\u003e method for Rubinius. See \u003ca href=\"http://github.com/evanphx/rubinius/issues/481\"\u003eissue 481\u003c/a\u003e on their site.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::CSS\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannerscss-1\" class=\"anchor\" aria-label=\"Permalink: Scanners::CSS\" href=\"#scannerscss-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e: Don’t use non-\u003cspan\u003eASCII\u003c/span\u003e regexps.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::Diff\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersdiff\" class=\"anchor\" aria-label=\"Permalink: Scanners::Diff\" href=\"#scannersdiff\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e: Highlight unexpected lines as \u003ccode\u003e:comment\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::PHP\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersphp\" class=\"anchor\" aria-label=\"Permalink: Scanners::PHP\" href=\"#scannersphp\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e: Use \u003ccode\u003eASCII-8BIT\u003c/code\u003e encoding for now.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::Ruby\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersruby-2\" class=\"anchor\" aria-label=\"Permalink: Scanners::Ruby\" href=\"#scannersruby-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eADDED\u003c/span\u003e\u003c/strong\u003e support for some Ruby 1.9 syntax (\u003ca href=\"http://odd-eyed-code.org/issues/254\" rel=\"nofollow\"\u003e#254\u003c/a\u003e):\n\t\u003cul dir=\"auto\"\u003e\n\t\t\u003cli\u003ethe \u003ccode\u003e-\u0026gt;\u003c/code\u003e lambda shortcut\u003c/li\u003e\n\t\t\u003cli\u003enew Hash syntax using colons (\u003ccode\u003e{ a: b }\u003c/code\u003e)\u003c/li\u003e\n\t\u003c/ul\u003e\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e: Use \u003ccode\u003eUTF-8\u003c/code\u003e encoding.\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e unicode support on Ruby 1.8 (\u003ca href=\"http://odd-eyed-code.org/issues/253\" rel=\"nofollow\"\u003e#253\u003c/a\u003e).\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e recognition of non-\u003cspan\u003eASCII\u003c/span\u003e identifiers in Ruby 1.9, JRuby, and Rubinius (\u003ca href=\"http://odd-eyed-code.org/issues/253\" rel=\"nofollow\"\u003e#253\u003c/a\u003e).\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eCHANGED\u003c/span\u003e\u003c/strong\u003e heredoc recognition to ignore delimiters starting with a digit. This is incorrect, but causes less false positives.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::SQL\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannerssql-1\" class=\"anchor\" aria-label=\"Permalink: Scanners::SQL\" href=\"#scannerssql-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e scanning of comments; nice catch, Rubinius!\u003cbr\u003e\n (\u003ca href=\"http://odd-eyed-code.org/issues/252\" rel=\"nofollow\"\u003e#252\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eChanges in 0.9.4 “Ramadan” [2010-08-31]\u003c/h2\u003e\u003ca id=\"user-content-changes-in-094-ramadan-2010-08-31\" class=\"anchor\" aria-label=\"Permalink: Changes in 0.9.4 “Ramadan” [2010-08-31]\" href=\"#changes-in-094-ramadan-2010-08-31\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eUpdated command line interface and minor scanner fixes for the Diff, \u003cspan\u003eHTML\u003c/span\u003e, and \u003cspan\u003eRHTML\u003c/span\u003e scanners.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003ecoderay\u003c/code\u003e executable\u003c/h3\u003e\u003ca id=\"user-content-coderay-executable\" class=\"anchor\" aria-label=\"Permalink: coderay executable\" href=\"#coderay-executable\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e: Partly rewritten, simplified, fixed.\u003cbr\u003e\n (\u003ca href=\"http://odd-eyed-code.org/issues/244\" rel=\"nofollow\"\u003e#244\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::Diff\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersdiff-1\" class=\"anchor\" aria-label=\"Permalink: Scanners::Diff\" href=\"#scannersdiff-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e handling of change headers with code on the same line as the @@ marker.\u003cbr\u003e\n (\u003ca href=\"http://odd-eyed-code.org/issues/242\" rel=\"nofollow\"\u003e#247\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::HTML\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannershtml\" class=\"anchor\" aria-label=\"Permalink: Scanners::HTML\" href=\"#scannershtml\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e a missing regexp modifier that slowed down the scanning.\u003cbr\u003e\n (\u003ca href=\"http://odd-eyed-code.org/issues/245\" rel=\"nofollow\"\u003e#245\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::RHTML\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersrhtml\" class=\"anchor\" aria-label=\"Permalink: Scanners::RHTML\" href=\"#scannersrhtml\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e highlighting of \u003cspan\u003eERB\u003c/span\u003e comment blocks.\u003cbr\u003e\n (\u003ca href=\"http://odd-eyed-code.org/issues/246\" rel=\"nofollow\"\u003e#246\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eChanges in 0.9.3 “Eyjafjallajökull” [2010-04-18]\u003c/h2\u003e\u003ca id=\"user-content-changes-in-093-eyjafjallajökull-2010-04-18\" class=\"anchor\" aria-label=\"Permalink: Changes in 0.9.3 “Eyjafjallajökull” [2010-04-18]\" href=\"#changes-in-093-eyjafjallajökull-2010-04-18\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e: Documentation of Tokens.\u003cbr\u003e\n (\u003ca href=\"http://odd-eyed-code.org/issues/218\" rel=\"nofollow\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003ecoderay\u003c/code\u003e executable\u003c/h3\u003e\u003ca id=\"user-content-coderay-executable-1\" class=\"anchor\" aria-label=\"Permalink: coderay executable\" href=\"#coderay-executable-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e: automatic \u003cspan\u003eTTY\u003c/span\u003e detection (uses \u003ccode\u003eTerm\u003c/code\u003e encoder)\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e: optional 3rd parameter for the filename\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e: Converted to \u003cspan\u003eUNIX\u003c/span\u003e format.\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e: Warn about generated files.\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e: Ensure line break after the output (especially for LoC counter).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::JavaScript\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersjavascript-1\" class=\"anchor\" aria-label=\"Permalink: Scanners::JavaScript\" href=\"#scannersjavascript-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e: Don’t keep state of \u003cspan\u003eXML\u003c/span\u003e scanner between calls for E4X literals.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::Java\u003c/code\u003e, \u003ccode\u003eScanners::JSON\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersjava-scannersjson\" class=\"anchor\" aria-label=\"Permalink: Scanners::Java, Scanners::JSON\" href=\"#scannersjava-scannersjson\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e: Close unfinished strings with the correct token kind.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eChanges in 0.9.2 “Flameeyes” [2010-03-14]\u003c/h2\u003e\u003ca id=\"user-content-changes-in-092-flameeyes-2010-03-14\" class=\"anchor\" aria-label=\"Permalink: Changes in 0.9.2 “Flameeyes” [2010-03-14]\" href=\"#changes-in-092-flameeyes-2010-03-14\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e Basic tests and a \u003cem\u003eRakefile\u003c/em\u003e are now included in the Gem. [Flameeyes]\u003cbr\u003e\n A \u003ccode\u003edoc\u003c/code\u003e task is also included.\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e Use \u003ccode\u003e$CODERAY_DEBUG\u003c/code\u003e for debugging instead of \u003ccode\u003e$DEBUG\u003c/code\u003e. [Trans]\u003cbr\u003e\n (\u003ca href=\"http://odd-eyed-code.org/issues/192\" rel=\"nofollow\"\u003e#192\u003c/a\u003e)\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eREMOVED\u003c/span\u003e\u003c/strong\u003e \u003ccode\u003eTerm::Ansicolor\u003c/code\u003e was bundled under \u003cem\u003elib/\u003c/em\u003e, but not used. [Flameeyes]\u003cbr\u003e\n (\u003ca href=\"http://odd-eyed-code.org/issues/205\" rel=\"nofollow\"\u003e#205\u003c/a\u003e)\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eWORKAROUND\u003c/span\u003e\u003c/strong\u003e for Ruby bug \u003cbr\u003e\n \u003ca href=\"http://redmine.ruby-lang.org/issues/show/2745\" rel=\"nofollow\"\u003e#2745\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eEncoders::Term\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-encodersterm\" class=\"anchor\" aria-label=\"Permalink: Encoders::Term\" href=\"#encodersterm\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e strings are closed correctly\u003cbr\u003e\n (\u003ca href=\"http://odd-eyed-code.org/issues/138\" rel=\"nofollow\"\u003e#138\u003c/a\u003e)\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e several token kinds had no associated color\u003cbr\u003e\n (\u003ca href=\"http://odd-eyed-code.org/issues/139\" rel=\"nofollow\"\u003e#139\u003c/a\u003e)\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e alias \u003ccode\u003eterminal\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cstrong\u003e\u003cspan\u003eNOTE\u003c/span\u003e:\u003c/strong\u003e This encoder will be renamed to \u003ccode\u003eEncoders::Terminal\u003c/code\u003e in the next release.\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::Debug\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersdebug\" class=\"anchor\" aria-label=\"Permalink: Scanners::Debug\" href=\"#scannersdebug\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e Don’t close tokens that are not open. Send \u003ccode\u003e:error\u003c/code\u003e token instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::Groovy\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersgroovy\" class=\"anchor\" aria-label=\"Permalink: Scanners::Groovy\" href=\"#scannersgroovy\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e token kind of closing brackets is \u003ccode\u003e:operator\u003c/code\u003e instead of \u003ccode\u003enil\u003c/code\u003e\u003cbr\u003e\n (\u003ca href=\"http://odd-eyed-code.org/issues/148\" rel=\"nofollow\"\u003e#148\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::PHP\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersphp-1\" class=\"anchor\" aria-label=\"Permalink: Scanners::PHP\" href=\"#scannersphp-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e allow \u003ccode\u003e\\\u003c/code\u003e operator (namespace separator)\u003cbr\u003e\n (\u003ca href=\"http://odd-eyed-code.org/issues/209\" rel=\"nofollow\"\u003e#209\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::YAML\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersyaml\" class=\"anchor\" aria-label=\"Permalink: Scanners::YAML\" href=\"#scannersyaml\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e doesn’t send debug tokens when \u003ccode\u003e$DEBUG\u003c/code\u003e is true [Trans]\u003cbr\u003e\n (\u003ca href=\"http://odd-eyed-code.org/issues/149\" rel=\"nofollow\"\u003e#149\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eChanges in 0.9.1 [2009-12-31]\u003c/h2\u003e\u003ca id=\"user-content-changes-in-091-2009-12-31\" class=\"anchor\" aria-label=\"Permalink: Changes in 0.9.1 [2009-12-31]\" href=\"#changes-in-091-2009-12-31\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4 8000 .95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eToken classes\u003c/h3\u003e\u003ca id=\"user-content-token-classes\" class=\"anchor\" aria-label=\"Permalink: Token classes\" href=\"#token-classes\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e token classes \u003ccode\u003e:complex\u003c/code\u003e, \u003ccode\u003e:decorator\u003c/code\u003e, \u003ccode\u003e:imaginary\u003c/code\u003e\u003cbr\u003e\n (all for Python)\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eREMOVED\u003c/span\u003e\u003c/strong\u003e token class \u003ccode\u003e:procedure\u003c/code\u003e\u003cbr\u003e\n – use \u003ccode\u003e:function\u003c/code\u003e or \u003ccode\u003e:method\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eTokens\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-tokens\" class=\"anchor\" aria-label=\"Permalink: Tokens\" href=\"#tokens\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e method \u003ccode\u003e#scanner\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\nStores the scanner.\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eREMOVED\u003c/span\u003e\u003c/strong\u003e methods \u003ccode\u003e.write_token\u003c/code\u003e, \u003ccode\u003e.read_token\u003c/code\u003e, \u003ccode\u003e.escape\u003c/code\u003e, \u003ccode\u003e.unescape\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\nThey were only used by the \u003ccode\u003eTokens\u003c/code\u003e encoder, which was removed also.\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eEncoders::Encoder\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-encodersencoder\" class=\"anchor\" aria-label=\"Permalink: Encoders::Encoder\" href=\"#encodersencoder\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eREMOVED\u003c/span\u003e\u003c/strong\u003e Don’t require the \u003cem\u003estringio\u003c/em\u003e library.\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e public methods \u003ccode\u003e#open_token\u003c/code\u003e, \u003ccode\u003e#close_token\u003c/code\u003e, \u003ccode\u003e#begin_line\u003c/code\u003e, \u003ccode\u003e#end_line\u003c/code\u003e\u003cbr\u003e\n These methods are called automatically, like \u003ccode\u003e#text_token\u003c/code\u003e.\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e proteced method \u003ccode\u003e#append_encoded_token_to_output\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eEncoders::Tokens\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-encoderstokens\" class=\"anchor\" aria-label=\"Permalink: Encoders::Tokens\" href=\"#encoderstokens\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eREMOVED\u003c/span\u003e\u003c/strong\u003e – use \u003ccode\u003eTokens#dump\u003c/code\u003e and \u003ccode\u003eTokens.load\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eEncoders::Filter\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-encodersfilter\" class=\"anchor\" aria-label=\"Permalink: Encoders::Filter\" href=\"#encodersfilter\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e\u003cbr\u003e\n A \u003ccode\u003eFilter\u003c/code\u003e encoder has another \u003ccode\u003eTokens\u003c/code\u003e instance as output.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eEncoders::TokenClassFilter\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-encoderstokenclassfilter\" class=\"anchor\" aria-label=\"Permalink: Encoders::TokenClassFilter\" href=\"#encoderstokenclassfilter\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\nIt takes 2 options, \u003ccode\u003e:exclude\u003c/code\u003e and \u003ccode\u003e:include\u003c/code\u003e, that specify which token classes\nto include or exclude for the output. They can be a single token class,\nan \u003ccode\u003eArray\u003c/code\u003e of classes, or the value \u003ccode\u003e:all\u003c/code\u003e.\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eEncoders::CommentFilter\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-encoderscommentfilter\" class=\"anchor\" aria-label=\"Permalink: Encoders::CommentFilter\" href=\"#encoderscommentfilter\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\nRemoves tokens of the \u003ccode\u003e:comment\u003c/code\u003e class.\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eEncoders::LinesOfCode\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-encoderslinesofcode\" class=\"anchor\" aria-label=\"Permalink: Encoders::LinesOfCode\" href=\"#encoderslinesofcode\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\nCounts the lines of code according to the \u003ccode\u003eKINDS_NOT_LOC\u003c/code\u003e token class list\ndefined by the scanner. It uses the new \u003ccode\u003eTokenClassFilter\u003c/code\u003e.\n\nAlias: \u003ccode\u003e:loc\u003c/code\u003e, as in \u003ccode\u003etokens.loc\u003c/code\u003e.\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eEncoders::JSON\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-encodersjson\" class=\"anchor\" aria-label=\"Permalink: Encoders::JSON\" href=\"#encodersjson\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\nOutputs tokens in a simple \u003cspan\u003eJSON\u003c/span\u003e format.\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eEncoders::Term\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-encodersterm-1\" class=\"anchor\" aria-label=\"Permalink: Encoders::Term\" href=\"#encodersterm-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e (beta, by Rob Aldred)\u003c/li\u003e\n\u003c/ul\u003e\nOutputs code highlighted for a color terminal.\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eEncoders::HTML\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-encodershtml-1\" class=\"anchor\" aria-label=\"Permalink: Encoders::HTML\" href=\"#encodershtml-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e option \u003ccode\u003e:title\u003c/code\u003e (default value is \u003cem\u003eCodeRay output\u003c/em\u003e)\u003c/li\u003e\n\u003c/ul\u003e\nSetting this changes the title of the \u003cspan\u003eHTML\u003c/span\u003e page.\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e option \u003ccode\u003e:highlight_lines\u003c/code\u003e (default: \u003ccode\u003enil\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\nHighlights the given set of line numbers.\n\u003cp dir=\"auto\"\u003e- \u003cstrong\u003e\u003cspan\u003eREMOVED\u003c/span\u003e\u003c/strong\u003e option \u003ccode\u003e:level\u003c/code\u003e\u003c/p\u003e\nIt didn’t do anything. CodeRay always outputs \u003cspan\u003eXHTML\u003c/span\u003e.\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eEncoders::Text\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-encoderstext\" class=\"anchor\" aria-label=\"Permalink: Encoders::Text\" href=\"#encoderstext\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003eUses \u003ccode\u003eEncoder\u003c/code\u003e interface with \u003ccode\u003esuper\u003c/code\u003e and \u003ccode\u003e#text_token\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eEncoders::XML\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-encodersxml\" class=\"anchor\" aria-label=\"Permalink: Encoders::XML\" href=\"#encodersxml\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003ccode\u003eFIXED\u003c/code\u003e (\u003ca href=\"http://odd-eyed-code.org/issues/94\" rel=\"nofollow\"\u003e#94\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\nIt didn’t work at all.\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eScanners\u003c/h3\u003e\u003ca id=\"user-content-scanners\" class=\"anchor\" aria-label=\"Permalink: Scanners\" href=\"#scanners\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e Mapped \u003ccode\u003e:h\u003c/code\u003e to \u003ccode\u003e:c\u003c/code\u003e, \u003ccode\u003e:cplusplus\u003c/code\u003e and \u003ccode\u003e:'c++'\u003c/code\u003e to \u003ccode\u003e:cpp\u003c/code\u003e,\u003cbr\u003e\n \u003ccode\u003e:ecma\u003c/code\u003e, \u003ccode\u003e:ecmascript\u003c/code\u003e, \u003ccode\u003e:ecma_script\u003c/code\u003e to \u003ccode\u003e:java_script\u003c/code\u003e,\u003cbr\u003e\n \u003ccode\u003e:pascal\u003c/code\u003e to \u003ccode\u003e:delphi\u003c/code\u003e, and \u003ccode\u003e:plain\u003c/code\u003e to \u003ccode\u003e:plaintext\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::Scanner\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersscanner-1\" class=\"anchor\" aria-label=\"Permalink: Scanners::Scanner\" href=\"#scannersscanner-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e constant \u003ccode\u003eKINDS_NOT_LOC\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\nA list of all token classes not considered in \u003cspan\u003eLOC\u003c/span\u003e count.\nAdded appropriate values for scanners.\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e method \u003ccode\u003e#lang\u003c/code\u003e returns the scanner’s lang, which is its \u003ccode\u003eplugin_id\u003c/code\u003e.\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e automatic, safe \u003cspan\u003eUTF\u003c/span\u003e-8 detection \u003cem\u003e[Ruby 1.9]\u003c/em\u003e\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e column takes care of multibyte encodings \u003cem\u003e[Ruby 1.9]\u003c/em\u003e\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e is dumpable (\u003ccode\u003eTokens\u003c/code\u003e store their scanner in an \u003ccode\u003e@scanner\u003c/code\u003e variable)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::Cpp\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannerscpp\" class=\"anchor\" aria-label=\"Permalink: Scanners::Cpp\" href=\"#scannerscpp\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e (C++)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::Groovy\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersgroovy-1\" class=\"anchor\" aria-label=\"Permalink: Scanners::Groovy\" href=\"#scannersgroovy-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e (beta)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::Python\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannerspython\" class=\"anchor\" aria-label=\"Permalink: Scanners::Python\" href=\"#scannerspython\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::PHP\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersphp-2\" class=\"anchor\" aria-label=\"Permalink: Scanners::PHP\" href=\"#scannersphp-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e (based on Stefan Walk’s work)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::SQL\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannerssql-2\" class=\"anchor\" aria-label=\"Permalink: Scanners::SQL\" href=\"#scannerssql-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e (based on code by Josh Goebel)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::C\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersc\" class=\"anchor\" aria-label=\"Permalink: Scanners::C\" href=\"#scannersc\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e added a list of \u003ccode\u003e:directive\u003c/code\u003e tokens that were \u003ccode\u003e:reserved\u003c/code\u003e before\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e detection of labels\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e allow \u003ccode\u003e1L\u003c/code\u003e and \u003ccode\u003e1LL\u003c/code\u003e style literals\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::CSS\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannerscss-2\" class=\"anchor\" aria-label=\"Permalink: Scanners::CSS\" href=\"#scannerscss-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e element selectors are highlighted as \u003ccode\u003e:type\u003c/code\u003e instea 8198 d of \u003ccode\u003e:keyword\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::Delphi\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersdelphi\" class=\"anchor\" aria-label=\"Permalink: Scanners::Delphi\" href=\"#scannersdelphi\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e Don’t cache tokens in CaseIgnoringWordList.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::Java\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersjava\" class=\"anchor\" aria-label=\"Permalink: Scanners::Java\" href=\"#scannersjava\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e \u003ccode\u003eassert\u003c/code\u003e is highlighted as a \u003ccode\u003e:keyword\u003c/code\u003e now\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e \u003ccode\u003econst\u003c/code\u003e and \u003ccode\u003egoto\u003c/code\u003e are highlighted as \u003ccode\u003e:reserved\u003c/code\u003e\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e \u003ccode\u003efalse\u003c/code\u003e, \u003ccode\u003etrue\u003c/code\u003e, and \u003ccode\u003enull\u003c/code\u003e are highlighted as \u003ccode\u003e:pre_constant\u003c/code\u003e\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e \u003ccode\u003ethreadsafe\u003c/code\u003e is no longer a \u003ccode\u003e:directive\u003c/code\u003e\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e \u003ccode\u003eString\u003c/code\u003e is highlighted as a \u003ccode\u003e:pre_type\u003c/code\u003e\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e built-in classes ending with \u003cem\u003eError\u003c/em\u003e or \u003cem\u003eException\u003c/em\u003e are\u003cbr\u003e\n highlighted as a \u003ccode\u003e:exception\u003c/code\u003e instead of \u003ccode\u003e:pre_type\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::JavaScript\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersjavascript-2\" class=\"anchor\" aria-label=\"Permalink: Scanners::JavaScript\" href=\"#scannersjavascript-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e a list of \u003ccode\u003ePREDEFINED_CONSTANTS\u003c/code\u003e to be highlighted as \u003ccode\u003e:pre_constant\u003c/code\u003e\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e \u003cspan\u003eXML\u003c/span\u003e literals are recognized and highlighted\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e function name highlighting\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e \u003ccode\u003e.1\u003c/code\u003e is highlighted a number\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e strings close with the correct kind when terminated unexpectedly\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::JSON\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersjson\" class=\"anchor\" aria-label=\"Permalink: Scanners::JSON\" href=\"#scannersjson\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e constants (\u003ccode\u003etrue\u003c/code\u003e, \u003ccode\u003efalse\u003c/code\u003e, \u003ccode\u003enil\u003c/code\u003e) are highlighted as \u003ccode\u003e:value\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::Ruby\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersruby-3\" class=\"anchor\" aria-label=\"Permalink: Scanners::Ruby\" href=\"#scannersruby-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e \u003ccode\u003ePatterns::KEYWORDS_EXPECTING_VALUE\u003c/code\u003e for more accurate\u003cbr\u003e\n \u003ccode\u003evalue_expected\u003c/code\u003e detection\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e handling of \u003ccode\u003e\\\u003c/code\u003e as a string delimiter\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e handling of unicode strings; automatic switching to unicode\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e highlighting of \u003ccode\u003eself.method\u003c/code\u003e definitions\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eREMOVED\u003c/span\u003e\u003c/strong\u003e \u003ccode\u003ePatterns::FANCY_START_SAVE\u003c/code\u003e (obsolete)\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e encoding issues \u003cem\u003e[Ruby 1.9]\u003c/em\u003e\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e a problem in early Ruby 1.8.6 patch versions with \u003ccode\u003eRegexp.escape\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eScanners::YAML\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-scannersyaml-1\" class=\"anchor\" aria-label=\"Permalink: Scanners::YAML\" href=\"#scannersyaml-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eIMPROVED\u003c/span\u003e\u003c/strong\u003e indentation detection\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eStyles::Cycnus\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-stylescycnus\" class=\"anchor\" aria-label=\"Permalink: Styles::Cycnus\" href=\"#stylescycnus\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003echanged a few colors (exceptions, inline strings, predefined types)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003ePlugin\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-plugin\" class=\"anchor\" aria-label=\"Permalink: Plugin\" href=\"#plugin\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e method \u003ccode\u003e#title\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\nSet and get the plugin’s title. Titles can be arbitrary strings.\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e method \u003ccode\u003e#helper\u003c/code\u003e loads helpers from different plugins\u003c/li\u003e\n\u003c/ul\u003e\nUse this syntax: \u003ccode\u003ehelper 'other_plugin/helper_name'\u003c/code\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eFileType\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-filetype-1\" class=\"anchor\" aria-label=\"Permalink: FileType\" href=\"#filetype-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e \u003ccode\u003eFileType[]\u003c/code\u003e takes \u003ccode\u003ePathname\u003c/code\u003e instances\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e regonizes \u003ccode\u003e.cc\u003c/code\u003e, \u003ccode\u003e.cpp\u003c/code\u003e, \u003ccode\u003e.cp\u003c/code\u003e, \u003ccode\u003e.cxx\u003c/code\u003e, \u003ccode\u003e.c++\u003c/code\u003e, \u003ccode\u003e.C\u003c/code\u003e, \u003ccode\u003e.hh\u003c/code\u003e, \u003ccode\u003e.hpp\u003c/code\u003e, \u003ccode\u003e.h++\u003c/code\u003e, \u003ccode\u003e.cu\u003c/code\u003e extensions (C++)\u003c/li\u003e\n\u003c/ul\u003e\nThanks to Sander Cox and the TextMate C bundle.\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e regonizes \u003ccode\u003e.pas\u003c/code\u003e, \u003ccode\u003e.dpr\u003c/code\u003e extensions (Delphi)\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e regonizes \u003ccode\u003e.gvy\u003c/code\u003e, \u003ccode\u003e.groovy\u003c/code\u003e extensions (Groovy)\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e regonizes \u003ccode\u003e.php\u003c/code\u003e, \u003ccode\u003e.php3\u003c/code\u003e, \u003ccode\u003e.php4\u003c/code\u003e, \u003ccode\u003e.php5\u003c/code\u003e extensions (\u003cspan\u003ePHP\u003c/span\u003e)\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e regonizes \u003ccode\u003e.py\u003c/code\u003e, \u003ccode\u003e.py3\u003c/code\u003e, \u003ccode\u003e.pyw\u003c/code\u003e extensions (Python)\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e regonizes \u003ccode\u003e.rxml\u003c/code\u003e extension (Ruby)\u003c/li\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eNEW\u003c/span\u003e\u003c/strong\u003e regonizes \u003ccode\u003e.sql\u003c/code\u003e extension (\u003cspan\u003eSQL\u003c/span\u003e)\u003c/li\u003e\n\t\u003cli\u003eFile types list was sorted alphabetically.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eCaseIgnoringWordList\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-caseignoringwordlist\" class=\"anchor\" aria-label=\"Permalink: CaseIgnoringWordList\" href=\"#caseignoringwordlist\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e (\u003ca href=\"http://odd-eyed-code.org/issues/97\" rel=\"nofollow\"\u003e#97\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\nThe default value is no longer ignored.\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ccode\u003eForRedCloth\u003c/code\u003e\u003c/h3\u003e\u003ca id=\"user-content-forredcloth\" class=\"anchor\" aria-label=\"Permalink: ForRedCloth\" href=\"#forredcloth\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003e\u003cstrong\u003e\u003cspan\u003eFIXED\u003c/span\u003e\u003c/strong\u003e for RedCloth versions 4.2.0+ (\u003ca href=\"http://odd-eyed-code.org/issues/119\" rel=\"nofollow\"\u003e#119\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCleanups\u003c/h3\u003e\u003ca id=\"user-content-cleanups\" class=\"anchor\" aria-label=\"Permalink: Cleanups\" href=\"#cleanups\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\t\u003cli\u003ewarnings about character classes \u003cem\u003e[Ruby 1.9]\u003c/em\u003e\u003c/li\u003e\n\t\u003cli\u003eencoding issues \u003cem\u003e[Ruby 1.9]\u003c/em\u003e\u003c/li\u003e\n\t\u003cli\u003edocumentation, code\u003c/li\u003e\n\u003c/ul\u003e\u003c/article\u003e","renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":null},"copilotInfo":null,"copilotAccessAllowed":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"csrf_tokens":{"/dradtke/coderay/branches":{"post":"cPutQZHh11HUAycgmifpg1Z_wVFL0nG9-rTfyDHrOmKV0oRx2vFqEmvVe-Ynxxnp7l3OH6d0UmoETIj2cPyCXA"},"/repos/preferences":{"post":"bp-Hc7Q8u0KQdQefAnoMoHoaauF4R1WTp3Yt57imVettrjZC84MV2pKGplgQOtPLCpZcRGYtYrTA3ZlcR88Osg"}}},"title":"coderay/Changes-pre-1.0.textile at master · dradtke/coderay","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-263cab1760dd.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-1b17b3e7786a.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"react_blob_overlay":false,"accessible_code_button":true}}}
0