Ace: рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреЛрдИ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рди рджреЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдЬрдире░ 2014  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ajaxorg/ace

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЗ рдмрд┐рдирд╛ рдХреЛрдб рдкрд╕рдВрдж рд╣реИред рдРрд╕ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЗ рдмрд┐рдирд╛ рдореЗрд░реЗ рдмрд┐рд▓реНрдХреБрд▓ рдареАрдХ рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддреА рд╣реИред рдХреНрдпрд╛ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рд╢реИрд▓реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛, рдореБрдЭреЗ рдХреЗрд╡рд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред

рдирдореВрдирд╛ рдХреЛрдб (рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ):

alert("Hello, world!")

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╛ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

editor.session.$worker.send("changeOptions", [{asi: true}]);

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдорддред рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡реГрдХреНрд╖ рдЙрдкрдХрд░рдг рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЪреВрдВрдХрд┐ рдореЛрдб рд╡рд┐рдХрд▓реНрдк рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ (https://github.com/ajaxorg/ace/commit/10e2c3049cf2fd41a369336c4d03342127a618e2), рдпрд╣ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛, PHP рдЗрдирд▓рд╛рдЗрди рдореЛрдб рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рдорд╛рди (https://github.com/ajaxorg/ace/commit/ 3a864c6056509ceeba2d290407dc91566c223d8e)

рд╡реИрд╕реЗ, рдЖрдк рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рд░рдЦрдХрд░ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: /* jshint asi:true */

рдпрд╛ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

editor.session.$worker.send("changeOptions", [{asi: true}]);

рдЗрд╕рдХрд╛ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?

рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдЪрд▓рд╛:

editor.session.$worker.send("changeOptions", [{asi: true}]);

.$worker рдореЗрдВ null

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ (рдпрджрд┐ рдХрд┐рд╕реА рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ)

editor.session.on('changeMode', function(e, session) {
    if('ace/mode/javascript' === session.getMode().$id) {
        if(!!session.$worker) {
            session.$worker.send('changeOptions', [{
                asi: true // disable "Missing semicolon." warning in editor for JavaScript
            }])
        }
    }
})
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

jakub-zawislak picture jakub-zawislak  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

RickStrahl picture RickStrahl  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

SuperSajuuk picture SuperSajuuk  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

aslushnikov picture aslushnikov  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

STRd6 picture STRd6  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ