initial commit

This commit is contained in:
2026-03-22 03:21:45 +02:00
commit 897fea9f4e
15431 changed files with 2548840 additions and 0 deletions

1
lib/rules/error-popup.js Normal file
View File

@@ -0,0 +1 @@
"use strict";var e=function(e){return e&&e.__esModule?e["default"]:e},t=e(require("react"));module.exports=t.createClass({displayName:"error-popup",getInitialState:function(){return{hover:!1}},render:function(){var e={marginTop:-20,width:10,height:20},r=null;return this.state.hover&&(r=t.createElement("span",{className:"badge badge-info",style:{fontSize:15}},this.props.message)),t.createElement("div",null,t.createElement("div",{onMouseOver:this.onMouseOver,onMouseOut:this.onMouseOut,style:e}),r)},onMouseOver:function(){this.setState({hover:!0})},onMouseOut:function(){this.setState({hover:!1})}});

View File

@@ -0,0 +1 @@
"use strict";var e=function(e){return e&&e.__esModule?e["default"]:e},t=e(require("react"));module.exports=t.createClass({displayName:"gutter-popup",getInitialState:function(){return{hover:!1}},render:function(){var e={marginLeft:-50,marginTop:-25,width:30,height:25},n=null;return this.state.hover&&(n=t.createElement("span",{className:"badge badge-info",style:{fontSize:15}},this.props.message)),t.createElement("div",null,t.createElement("div",{onMouseOver:this.onMouseOver,onMouseOut:this.onMouseOut,style:e}),n)},onMouseOver:function(){this.setState({hover:!0})},onMouseOut:function(){this.setState({hover:!1})}});

View File

@@ -0,0 +1 @@
"use strict";var e=function(e){return e&&e.__esModule?e["default"]:e},r=function(){function e(e,r){for(var t in r){var i=r[t];i.configurable=!0,i.value&&(i.writable=!0)}Object.defineProperties(e,r)}return function(r,t,i){return t&&e(r.prototype,t),i&&e(r,i),r}}(),t=function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")},i=e(require("path")),n=e(require("react")),a=e(require("./error-popup")),o=e(require("./gutter-popup")),s=void 0;try{s=require("jibo-parser")}catch(u){console.warn("Error importing jibo-parser. Simulator will not support robust parsing. "+u)}var l=function(){function e(){t(this,e),this.start()}return r(e,{onChange:{value:function(){this.marker&&(this.marker.destroy(),this.lineNumber&&this.lineNumber.parentNode&&this.lineNumber.parentNode.removeChild(this.lineNumber));var e=this.editor.getText();try{s&&s.syntax_check(e)}catch(r){var t=JSON.parse(r.message);if(t.info.line){var i=[[t.info.line-1,t.info.column-1],[t.info.line-1,t.info.column]];this.marker=this.editor.markBufferRange(i,{invalidate:"never"}),this.editor.decorateMarker(this.marker,{type:"highlight","class":"jibo-highlight-red"}),this.editor.decorateMarker(this.marker,{type:"line-number","class":"jibo-line-number-red"});var u=document.createElement("div");n.render(n.createElement(a,{message:t.info.msg,marker:this.marker}),u),this.editor.decorateMarker(this.marker,{type:"overlay",item:u})}else{var i=[[0,0],[0,1]];this.marker=this.editor.markBufferRange(i,{invalidate:"never"}),this.editor.decorateMarker(this.marker,{type:"line-number","class":"jibo-line-number-red"});var u=document.createElement("div");n.render(n.createElement(o,{message:t.info.msg,marker:this.marker}),u),this.editor.decorateMarker(this.marker,{type:"overlay",item:u})}console.log(t)}}},start:{value:function(){var e=this;atom.workspace.observeActivePaneItem(function(r){if(r&&r.constructor&&"TextEditor"===r.constructor.name){var t=i.extname(r.getPath());e.dispoable&&e.dispoable.dispose(),(".nli"===t||".rule"===t||".grm"===t)&&(e.editor=r,e.dispoable=r.onDidStopChanging(e.onChange.bind(e)))}})}}}),e}();module.exports=new l;

View File

@@ -0,0 +1 @@
"use strict";var e=function(e){return e&&e.__esModule?e["default"]:e},t=e(require("react")),i=void 0;try{i=require("jibo-parser")}catch(r){console.warn("Error importing jibo-parser. Simulator will not support robust parsing. "+r)}var s={};module.exports=t.createClass({displayName:"rule-tester-panel",addDisposable:function(e){this.disposables.push(e)},getInitialState:function(){return this.disposables=[],{result:"",compileTime:0,parseTime:0}},compile:function(){if(i){var e=t.findDOMNode(this.refs.json);this.parser=null,i.remove_from_memory("handle:1");try{var r=performance.now(),s=i.compile_fst_from_text(this.props.editor.getText(),"handle:1"),o=performance.now();this.parser=i.build_sentence_parser(s),this.setState({compileTime:o-r})}catch(n){e.getModel().setText("[]"),this.setState({compileTime:0,parseTime:0})}}},parse:function(){var e=t.findDOMNode(this.refs.json),i=t.findDOMNode(this.refs.editor);if(this.parser){var r=performance.now(),s=this.parser.parse_sentence(i.getModel().getText()),o=performance.now();this.setState({parseTime:o-r}),s=JSON.parse(s),s=JSON.stringify(s,null,4),e.getModel().setText(s)}else e.getModel().setText("[]"),this.setState({compileTime:0,parseTime:0})},render:function(){var e={width:"100%",height:"100%",display:"flex",flexDirection:"column"};return t.createElement("div",{style:e,ref:"container"},t.createElement("div",{className:"panel-heading",style:{padding:"0px"}},t.createElement("h2",{style:{textAlign:"center",marginTop:"6px",marginBottom:"6px"}},"Test ",this.props.editor.getTitle())),t.createElement("atom-text-editor",{ref:"editor",style:{marginLeft:10,marginRight:10,marginBottom:10,marginTop:20},mini:!0,"placeholder-text":"Enter test sentence here"}),t.createElement("div",{className:"text-info",style:{margin:10}},t.createElement("span",{className:"icon icon-graph"})," ","compile time: "+this.state.compileTime.toFixed(2)+"ms, parse time: "+this.state.parseTime.toFixed(2)+"ms"),t.createElement("div",{className:"json-container"},t.createElement("atom-text-editor",{"gutter-hidden":!0,ref:"json",style:{height:"100%"}})),t.createElement("div",{style:{height:26}}))},componentDidMount:function(){var e=this,i=t.findDOMNode(this.refs.editor),r=t.findDOMNode(this.refs.json),o=t.findDOMNode(this.refs.container);o.addResizeListener=function(){console.log(o.clientWidth,o.clientHeight)};for(var n=!1,a=atom.grammars.getGrammars(),l=0;l<a.length;l++){var m=a[l];if("JSON"===m.name){r.getModel().setGrammar(m),n=!0;break}}n||!function(){var e=atom.grammars.onDidAddGrammar(function(t){"JSON"===t.name&&(r.getModel().setGrammar(t),e.dispose())})}();var d=s[this.props.editor.getPath()];d?(i.getModel().setText(d),this.compile(),this.parse()):r.getModel().setText("[]"),this.addDisposable(this.props.editor.onDidStopChanging(function(){e.compile(),e.parse()})),this.addDisposable(i.getModel().onDidStopChanging(function(){s[e.props.editor.getPath()]=i.getModel().getText(),e.parse()}))},componentWillUnmount:function(){this.disposables.forEach(function(e){e.dispose()})}});