Recompile on Cmd-S and :w

This commit is contained in:
James Allen 2018-05-03 12:20:53 +01:00
parent 40da785363
commit 09486f2eea
2 changed files with 15 additions and 6 deletions

View file

@ -58,6 +58,7 @@ div.full-size(
read-only="!permissions.write",
file-name="editor.open_doc_name",
on-ctrl-enter="recompileViaKey",
on-save="recompileViaKey",
on-ctrl-j="toggleReviewPanel",
on-ctrl-shift-c="addNewCommentFromKbdShortcut",
on-ctrl-shift-a="toggleTrackChangesFromKbdShortcut",

View file

@ -3,6 +3,7 @@ define [
"ace/ace"
"ace/ext-searchbox"
"ace/ext-modelist"
"ace/keybinding-vim"
"ide/editor/directives/aceEditor/undo/UndoManager"
"ide/editor/directives/aceEditor/auto-complete/AutoCompleteManager"
"ide/editor/directives/aceEditor/spell-check/SpellCheckManager"
@ -14,9 +15,10 @@ define [
"ide/graphics/services/graphics"
"ide/preamble/services/preamble"
"ide/files/services/files"
], (App, Ace, SearchBox, ModeList, UndoManager, AutoCompleteManager, SpellCheckManager, HighlightsManager, CursorPositionManager, TrackChangesManager, MetadataManager) ->
], (App, Ace, SearchBox, Vim, ModeList, UndoManager, AutoCompleteManager, SpellCheckManager, HighlightsManager, CursorPositionManager, TrackChangesManager, MetadataManager) ->
EditSession = ace.require('ace/edit_session').EditSession
ModeList = ace.require('ace/ext/modelist')
Vim = ace.require('ace/keyboard/vim').Vim
# set the path for ace workers if using a CDN (from editor.pug)
if window.aceWorkerPath != ""
@ -60,6 +62,7 @@ define [
onCtrlJ: "=" # Toggle the review panel
onCtrlShiftC: "=" # Add a new comment
onCtrlShiftA: "=" # Toggle track-changes on/off
onSave: "=" # Cmd/Ctrl-S or :w in Vim
syntaxValidation: "="
reviewPanel: "="
eventsBridge: "="
@ -107,15 +110,20 @@ define [
autoCompleteManager = new AutoCompleteManager(scope, editor, element, metadataManager, graphics, preamble, files)
# Prevert Ctrl|Cmd-S from triggering save dialog
editor.commands.addCommand
name: "save",
bindKey: win: "Ctrl-S", mac: "Command-S"
exec: () ->
readOnly: true
scope.$watch "onSave", (callback) ->
if callback?
editor.commands.addCommand
name: "save",
bindKey: win: "Ctrl-S", mac: "Command-S"
exec: () ->
callback()
readOnly: true
Vim.defineEx 'write', 'w', callback
editor.commands.removeCommand "transposeletters"
editor.commands.removeCommand "showSettingsMenu"
editor.commands.removeCommand "foldall"
# For European keyboards, the / is above 7 so needs Shift pressing.
# This comes through as Command-Shift-/ on OS X, which is mapped to
# toggleBlockComment.