mirror of
https://github.com/alexwl/haskell-code-explorer.git
synced 2024-11-25 23:56:17 +03:00
Optimize the process of adding links to Haskell language extension docs
This commit is contained in:
parent
e8ded03ec4
commit
d65f02107a
@ -481,14 +481,17 @@ export default Ember.Component.extend({
|
||||
const lineCount = lines.length;
|
||||
let i = 0;
|
||||
while(i < lineCount) {
|
||||
let line = lines.item(i);
|
||||
// A file-header pragma must precede the module keyword in the file.
|
||||
if(line.innerText.indexOf("module ") === 0) {
|
||||
break;
|
||||
} else {
|
||||
line.innerHTML = addLinksToLanguageExtensionsDocs(line.innerText);
|
||||
i = i + 1;
|
||||
const line = lines.item(i);
|
||||
const lineText = line.textContent;
|
||||
if(lineText) {
|
||||
// A file-header pragma must precede the module keyword in the file.
|
||||
if(lineText.indexOf("module ") === 0) {
|
||||
break;
|
||||
} else {
|
||||
line.innerHTML = addLinksToLanguageExtensionsDocs(lineText);
|
||||
}
|
||||
}
|
||||
i = i + 1;
|
||||
}
|
||||
|
||||
this.element.parentNode.scrollTop = 0;
|
||||
|
@ -64,11 +64,11 @@ Ember.run.next(this,function(){e.cleanup(),e.didInsertElement()})}),cleanup:func
|
||||
this._super.apply(this,arguments)
|
||||
var t=this.element.querySelector(".source-code-container")
|
||||
t.innerHTML=this.get("html"),this.sourceCodeContainerElement=t
|
||||
for(var s=this.sourceCodeContainerElement.querySelectorAll("tr > td:nth-child(2)"),l=s.length,i=0;i<l;){var r=s.item(i)
|
||||
if(0===r.innerText.indexOf("module "))break
|
||||
r.innerHTML=(0,o.addLinksToLanguageExtensionsDocs)(r.innerText),i+=1}this.element.parentNode.scrollTop=0
|
||||
var a=this.element.querySelector(".declarations-content")
|
||||
this.set("query",""),a&&(a.scrollTop=0),Ember.run.next(this,function(){u(t,e),(0,n.initializeLineSelection)(t,e),h(t,e)})},willDestroyElement:function(){this.cleanup()},actions:{goToLine:function(e){window.location.hash="L"+e},toggleShowDeclarations:function(){this.toggleProperty("showDeclarations")}}})}),define("haskell-code-explorer/components/identifier-info",["exports","haskell-code-explorer/utils/go-to-definition"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({store:Ember.inject.service("store"),downloadedDocumentation:null,didInsertElement:function(){var e=this,n=function(n){if(n.target.dataset.location){var o=void 0
|
||||
for(var s=this.sourceCodeContainerElement.querySelectorAll("tr > td:nth-child(2)"),l=s.length,i=0;i<l;){var r=s.item(i),a=r.textContent
|
||||
if(a){if(0===a.indexOf("module "))break
|
||||
r.innerHTML=(0,o.addLinksToLanguageExtensionsDocs)(a)}i+=1}this.element.parentNode.scrollTop=0
|
||||
var c=this.element.querySelector(".declarations-content")
|
||||
this.set("query",""),c&&(c.scrollTop=0),Ember.run.next(this,function(){u(t,e),(0,n.initializeLineSelection)(t,e),h(t,e)})},willDestroyElement:function(){this.cleanup()},actions:{goToLine:function(e){window.location.hash="L"+e},toggleShowDeclarations:function(){this.toggleProperty("showDeclarations")}}})}),define("haskell-code-explorer/components/identifier-info",["exports","haskell-code-explorer/utils/go-to-definition"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({store:Ember.inject.service("store"),downloadedDocumentation:null,didInsertElement:function(){var e=this,n=function(n){if(n.target.dataset.location){var o=void 0
|
||||
try{o=JSON.parse(n.target.dataset.location)}catch(e){console.log(e)}o&&(0,t.goToDefinition)(e.get("store"),o,n.which,e.get("currentLineNumber"))}}
|
||||
this.element.addEventListener("mouseup",n),this._onmouseup=n},willDestroyElement:function(){this._onmouseup&&this.element.removeEventListener("mouseup",this._onmouseup)},isNaughtyRecSel:Ember.computed("identifierInfo",function(){var e=this.get("identifierInfo")
|
||||
return!!e&&"RecSelIdNaughty"===e.details}),isExternalIdentifier:Ember.computed("identifierInfo",function(){var e=this.get("identifierInfo")
|
||||
@ -216,4 +216,4 @@ return c&&o(c,e),[a]}}}function o(e,t){e.parentNode.scrollIntoView()
|
||||
var n=t.parentNode.parentNode,o=n.offsetHeight
|
||||
t.offsetHeight-n.scrollTop>o&&(n.scrollTop=n.scrollTop-(o/2-20))}function s(e,t,n){Array.prototype.slice.call(e.querySelectorAll("td.line-content")).forEach(function(e){var o=parseInt(e.id.substring(2))
|
||||
o>=t&&o<=n?e.classList.add("highlighted-line"):e.classList.remove("highlighted-line")})}Object.defineProperty(e,"__esModule",{value:!0}),e.initializeLineSelection=t,e.highlightLines=s,e.highlightSelectedLines=n}),define("haskell-code-explorer/config/environment",[],function(){try{var e="haskell-code-explorer/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n=JSON.parse(unescape(t)),o={default:n}
|
||||
return Object.defineProperty(o,"__esModule",{value:!0}),o}catch(t){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("haskell-code-explorer/app").default.create({staticUrlPrefix:"/files",apiUrlPrefix:"/api",haskellCodeExplorerDirectory:".haskell-code-explorer",title:"Haskell Code Explorer",name:"haskell-code-explorer",version:"0.0.1+0b17136d"})
|
||||
return Object.defineProperty(o,"__esModule",{value:!0}),o}catch(t){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("haskell-code-explorer/app").default.create({staticUrlPrefix:"/files",apiUrlPrefix:"/api",haskellCodeExplorerDirectory:".haskell-code-explorer",title:"Haskell Code Explorer",name:"haskell-code-explorer",version:"0.0.1+e8ded03e"})
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user