在Atom Keymap.cson中更改JS缩进

时间:2014-06-24 15:11:29

标签: javascript keymapping atom-editor

我正在尝试更新我的keymap.cson文件,以便JavaScript源的缩进略有不同。我不希望它在case中取消缩进defaultswitch语句。

默认情况下,Atom会以这种方式格式化:

switch(x) {
case 1:
    //stuff
case 2:
    //stuff
default:
    //stuff
}

我喜欢我的case语句缩进一次(而//stuff再缩进一次)。

因此,我尝试编辑我的键盘映射,使其按照这种方式进行格式化:

switch(x) {
    case 1:
        //stuff
    case 2:
        //stuff
    default:
        //stuff
}

不幸的是,无论我尝试什么,只要在" case"之后点击空格键,我就无法停止减少缩进。

the Keymaps Documentation开始,将以下coffeescript放在我的keymap.cson文件中应该会禁用默认行为并添加我的新行为(从正则表达式的第二行省略|case|default应该做这个伎俩,但我不确定它为什么不起作用:

'.source.js':
    'editor':
        'decreaseIndentPattern': 'unset!'

'.source.js':
  'editor':
    'decreaseIndentPattern': '(?x)
        ^(.*\\*/)?\\s*(\\}|\\))
      | ^\\s* else \\s*$
      '

认为原始密钥图是in the language-javascript package here

1 个答案:

答案 0 :(得分:0)

我确定这可能不是技术上的Keymap,因此无法在keymap.cson中覆盖它。我最终做的是forking the language-javascript repo,进行更改,卸载原始language-javascript包,然后安装自定义fork。

还是想知道是否有办法在运行时更新它;使用此解决方案,我将不得不手动保持我的分叉与任何上游更改。

修改:只是针对此特定更改的更新,它实际上被接受到官方language-javascriptvia PR #36