Skip to content

Instantly share code, notes, and snippets.

@lislon
Created October 22, 2015 09:21
Show Gist options
  • Select an option

  • Save lislon/d0f69ccfd218af90ef00 to your computer and use it in GitHub Desktop.

Select an option

Save lislon/d0f69ccfd218af90ef00 to your computer and use it in GitHub Desktop.
;; Google translate interactive
(define-derived-mode google-translate-interactive-mode
text-mode "Google Translate"
(defun translate-word-and-new-line ()
"Shows translation of current work in help buffer and inserts
new line after it"
(interactive)
(let ((buffer (current-buffer)) )
(move-beginning-of-line nil)
(set-mark-command nil)
(move-end-of-line nil)
(google-translate-at-point)
(switch-to-buffer buffer)
(evil-insert-newline-below)
))
(use-local-map (make-sparse-keymap))
(local-set-key (kbd "RET") 'translate-word-and-new-line)
(define-key evil-normal-state-map (kbd "RET") 'google-translate-at-point))
(defun my/google-translate-repl ()
(interactive)
(let ((buffer (get-buffer-create "Google Translate REPL")))
(switch-to-buffer buffer)
(google-translate-interactive-mode)
(evil-insert-state)
(goto-char (buffer-end 1))
))
(evil-leader/set-key "x g i" 'my/google-translate-repl)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment