1
0
mirror of https://github.com/golang/go synced 2024-11-23 18:00:06 -07:00
Commit Graph

78 Commits

Author SHA1 Message Date
Jean-Marc Eurin
7b6111a9dd misc/emacs: Use patch output of gofmt instead of replacing the buffer.
This uses the patch output of gofmt (-d option) and applies each
chunk to the buffer, instead of replacing the whole buffer.  The
main advantage is that the undo history is kept across gofmt'ings,
so it can really be used as a before-save-hook.

R=sameer, sameer
CC=golang-dev
https://golang.org/cl/6198047
2012-05-30 14:18:58 -04:00
Peter Kleiweg
2d1fa08967 Emacs go-mode: don't indent the inside of strings.
Two fixes for indentation problems:

1. Properly recognize multi-line strings. These start with `, not ".

2. Don't indent a line if the beginning of the line is the end of a multi-line string. This happened for instance when inserting a closing bracket after a multi-line string.

R=sameer
CC=golang-dev
https://golang.org/cl/6157044
2012-05-29 16:30:06 -04:00
Peter Kleiweg
28e9e15802 Emacs go-mode: fix Emacs freeze-up when copy/pasting from string or comment.
Fixes #3509.
Fixes #2767.

R=golang-dev, sameer
CC=golang-dev
https://golang.org/cl/6139066
2012-05-29 12:40:12 -04:00
Jean-Marc Eurin
9d063816ef misc/emacs: Restore the window position after a successful gofmt.
This adds restoring the window position so that the buffer doesn't jump around after the erase/copy.

R=sameer
CC=golang-dev
https://golang.org/cl/5981055
2012-05-07 11:46:01 -04:00
Sameer Ajmani
b0f4d805f2 misc/emacs: fix go-mode syntax table and whitespace handling.
- flag * and / as comment characters
- mark newline as a comment-ender
- include newline in go-mode-whitespace-p

Thanks Jonathan Amsterdam and Steve Yegge for the patch!

R=golang-dev, rsc
CC=golang-dev, jba, stevey
https://golang.org/cl/5938056
2012-04-02 12:59:37 -04:00
Ben Fried
bf9620ebbd misc/emacs: fix overindentation caused by mis-parsing lines ending with special chars
Fixes #3313

go-mode-backward-skip-comments is probably due for a more ambitious refactoring --- it repeats guard conditions after every nearly every movement of point.

R=sameer, r
CC=golang-dev
https://golang.org/cl/5844063
2012-03-26 23:26:39 -04:00
Sameer Ajmani
a55a6cb925 misc/emacs: fix extra indentation after comments that end with a period
in emacs go mode.  Thanks Alex Shinn for the patch.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5728063
2012-03-05 14:58:35 -05:00
Florian Weimer
70ed0ac588 go-mode.el: fix syntax highlighting of backticks
Instead of syntax-tables, an extended go-mode-cs is used for
from a font-lock callback.

Cache invalidation must happen in a before-change-function
because font-lock runs in an after-change-function, potentially
before the cache invalidation takes place.

Performance is reasonable, even with src/pkg/html/entity.go
and test/fixedbugs/bug257.go.

Fixes #2330.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5529045
2012-01-09 12:58:29 -05:00
Bobby Powers
cb85e8ac27 misc/emacs: add delete builtin
R=golang-dev, mpimenov, gri
CC=golang-dev
https://golang.org/cl/5370101
2011-11-15 10:22:34 -08:00
Jan Newmarch
350a5ce64f misc/emacs/go-lang.el: Fix restoration of multiple windows in a frame after gofmt
If a frame has multiple windows then the windows must all be restored
after gofmt has finished and the old windows must be restored.
Before this fix, only the Go code edit window would be left.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5280050
2011-10-31 11:33:14 -04:00
Evan Martin
3ac7cae6e8 emacs: add a "godoc" command, like M-x man
This runs godoc and displays its output in a new buffer.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5268041
2011-10-13 09:07:42 -07:00
Russ Cox
305f167b01 misc/emacs: fix indent bug
Must use case-sensitive search to identify keywords.

Fixes #2287.

R=bradfitz
CC=golang-dev
https://golang.org/cl/5182043
2011-10-05 12:27:23 -04:00
Russ Cox
4946b420f2 misc/emacs: refine label detection
Based on idea in
http://patch-tracker.debian.org/patch/series/view/golang/1:59-1/008-emacs-mode-key-literal-indent.patch

Fixes #2174.

R=amdragon, ajmani, amdragon
CC=golang-dev
https://golang.org/cl/4922049
2011-08-24 16:47:12 -04:00
Quan Yong Zhai
fc57c4b7a9 misc/emacs: update list of builtins.
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/4630065
2011-06-24 11:19:48 -07:00
Eric Eisner
ed0c0f2c80 misc/emacs: don't select the mark after gofmt
R=ajmani
CC=golang-dev
https://golang.org/cl/4553054
2011-05-23 22:47:25 -04:00
Sameer Ajmani
cc5ac676da misc/emacs: bug fix: use UTF-8 when invoking gofmt as a subprocess.
Without this, Unicode characters are stripped out by M-x gofmt.

R=rsc, amdragon
CC=golang-dev
https://golang.org/cl/4523065
2011-05-13 11:05:03 -04:00
Sameer Ajmani
0ac151fd5c misc/emacs: gofmt: don't clobber the current buffer on failure
Change M-x gofmt to display errors in a new buffer instead of
clobbering the current buffer.

Add gofmt-before-save, which runs gofmt when in go-mode.  This
can be used with before-save-hook.  Add to your .emacs:
  (add-hook 'before-save-hook 'gofmt-before-save)

R=rsc, aclements, amdragon
CC=golang-dev
https://golang.org/cl/4276059
2011-03-24 10:35:39 -04:00
Scott Lawrence
3b9a024d29 go-mode.el: Fix highlighting for 'chan' type
Fixes #1038.

R=aclements, rsc
CC=golang-dev
https://golang.org/cl/2111046
2010-09-13 00:12:18 -04:00
Scott Lawrence
87229f54c3 misc/emacs: make _ a word symbol
Fixes #655.

R=rsc, aclements
CC=golang-dev
https://golang.org/cl/1981041
2010-08-26 13:32:50 -04:00
Kevin Ballard
ea1a36efcd Fix minor issues with updating go-mode in an empty buffer
Sometimes during editing, when the buffer is emptied (for example,
  as part of a call to M-x gofmt), an error is raised when
  remove-text-properties is called. Ensure that these calls use point-max
  instead of buffer-size to determine their end point.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/189042
2010-01-13 13:32:19 +11:00
Austin Clements
367ae9a541 Use remove-text-properties instead of
remove-list-of-test-properties, since the latter is missing
from XEmacs.

Fixes #462.

R=rsc
CC=golang-dev
https://golang.org/cl/181152
2010-01-06 15:45:43 -08:00
Austin Clements
6712cf365b Update Emacs go-mode for new semicolon rule.
Fixes #415.

R=rsc
CC=golang-dev
https://golang.org/cl/183104
2010-01-05 16:50:36 -08:00
Austin Clements
6e6125ffa4 Make comment-start/-end changes buffer-local instead of global.
Fixes #290.

R=rsc
https://golang.org/cl/160070
2009-11-29 14:22:07 -08:00
James Aguilar
95be81da4d Correct indentation for go-mode where a close brace following a semi-
colon-less statement would be indented one stop too many.

R=rsc, aclements
CC=aclements
https://golang.org/cl/154096
2009-11-13 15:52:30 -08:00
Kevin Ballard
6c2ae1a625 Teach emacs M-x gofmt to save region/restrictions
R=agl, agl1
https://golang.org/cl/152078
2009-11-12 18:40:42 -08:00
Kevin Ballard
c57054f7b4 Implement new emacs command M-x gofmt
Define a new interactive function in go-mode.el called gofmt.
This function passes the current buffer through the external `gofmt`
tool and replaces the buffer with the result.

R=agl, rsc
https://golang.org/cl/154044
2009-11-10 20:05:24 -08:00
Kevin Ballard
022e3ae265 Fix go-mode.el to work on empty buffers
Fixes #8.

R=agl, agl1, rsc
https://golang.org/cl/153056
2009-11-10 20:04:14 -08:00
Austin Clements
5bd8c92427 go-mode for Emacs. This provides basic syntax highlighting
for keywords, built-ins, functions, and some types.  It also
provides indentation that is (almost) identical to gofmt.

R=rsc
APPROVED=rsc
DELTA=509  (509 added, 0 deleted, 0 changed)
OCL=35951
CL=35994
2009-10-22 08:54:26 -07:00