Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Building An Editor Package For Go
Search
Joe Fitzgerald
July 24, 2014
Technology
8
1.2k
Building An Editor Package For Go
A lightning talk for the Denver Gophers Meetup On 7/24/2014.
Joe Fitzgerald
July 24, 2014
Tweet
Share
Other Decks in Technology
See All in Technology
ディメンショナルモデリングを支えるData Vaultについて
10xinc
1
100
MLflowダイエット大作戦
lycorptech_jp
PRO
1
140
ActiveJobUpdates
igaiga
1
130
S3を正しく理解するための内部構造の読解
nrinetcom
PRO
2
120
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
1
610
Fashion×AI「似合う」を届けるためのWEARのAI戦略
zozotech
PRO
2
810
生成AIを利用するだけでなく、投資できる組織へ / Becoming an Organization That Invests in GenAI
kaminashi
0
100
20251209_WAKECareer_生成AIを活用した設計・開発プロセス
syobochim
7
1.6k
今年のデータ・ML系アップデートと気になるアプデのご紹介
nayuts
1
460
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/09 - 2025/11
oracle4engineer
PRO
0
160
5分で知るMicrosoft Ignite
taiponrock
PRO
0
390
SREには開発組織全体で向き合う
koh_naga
0
360
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
186
22k
Building Adaptive Systems
keathley
44
2.9k
Writing Fast Ruby
sferik
630
62k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
[SF Ruby Conf 2025] Rails X
palkan
0
530
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
286
14k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Documentation Writing (for coders)
carmenintech
76
5.2k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Invisible Side of Design
smashingmag
302
51k
Mobile First: as difficult as doing things right
swwweet
225
10k
Transcript
BUILDING AN EDITOR PLUGIN PACKAGE FOR GO Joe Fitzgerald, DIRECTOR,
CLOUD FOUNDRY SERVICES @ PIVOTAL
MEET JOE ▸ I work @ (http://pivotal.io) ▸ I sell
and deliver professional services for ▸ You can find me at: ▸ : @joefitzgerald ▸ : @joefitzgerald ▸ :
[email protected]
AND... SINCE MARCH I'VE BEEN WORKING ON A GO PACKAGE
FOR ATOM
I KNOW WHAT YOU ARE THINKING...
YOU ARE CRAZY BECAUSE I : Vim, Emacs, Sublime, IntelliJ,
Eclipse, LiteIDE... Acme (?)
None
YOU'RE RIGHT I'M NOT HERE TO CHANGE YOUR MIND
SO WHY'D YOU DO IT?
IT WAS MARCH AND IT SOUNDED LIKE A GOOD IDEA
(?)
MEET ATOM ▸ Built By: ▸ Find It At: atom.io
▸ License: MIT – Yes, It's Open Source!
BUT... + = SLOW, RIGHT?
REACT THE DEFAULT EDITOR VIEW AS OF JULY 23, 2014
= Much Faster
I CREATED A PACKAGE IT'S CALLED: go-plus
RIGHT NOW IT SUPPORTS: ▸ Formatting source using gofmt ▸
Formatting and managing imports using goimports ▸ Code quality inspection using go vet ▸ Linting using golint ▸ Syntax checking using go build and go test ▸ Display of test coverage using go test -coverprofile
None
None
None
None
A TOUR OF VERSION 1:
None
I MADE SOME ROOKIE MISTAKES (BUT I'M NOT SO SURE
OTHERS HAVE REALIZED IT) (BECAUSE THESE SEEM LIKE COMMON EDITOR MISTAKES)
WHY SHOULD SOMEONE HAVE TO CONFIGURE THE PATH TO TOOLS?
LIKE gofmt
WOULDN'T IT BE BETTER TO USE... go env ?
$ go env GOARCH="amd64" GOBIN="" GOCHAR="6" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOOS="darwin"
GOPATH="/Users/jfitzgerald/go" GORACE="" GOROOT="/usr/local/Cellar/go/1.3/libexec" GOTOOLDIR="/usr/local/Cellar/go/1.3/libexec/pkg/tool/darwin_amd64" CC="clang" GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common" CXX="clang++" CGO_ENABLED="1"
GOBIN="" + GOEXE="" + GOPATH="/Users/jfitzgerald/go" + GOROOT="/usr/local/Cellar/go/1.3/libexec" + GOTOOLDIR="/usr/local/Cellar/go/1.3/libexec/pkg/tool/darwin_amd64" IS
EVERYTHING YOU NEED TO FIND GO TOOLS (PLUS $PATH / %Path%)
SO WE JUST NEED TO FIND go
WHERE IS GO, YOU ASK? 1. Start With $PATH /
%PATH% Segments, Then: 2. OSX: /usr/local/go/bin (Package Installer) 3. OSX: /usr/local/bin (Homebrew) 4. Windows: C:\Go\bin (Package Installer)
SO NOW WE CAN FIND: 1. go 2. godoc 3.
gofmt 4. vet 5. cover
BUT WHAT ABOUT: 1. goimports 2. golint 3. oracle 4.
And Other $GOPATH / %GOPATH% Bin Executables? They aren't in GOTOOLDIR or GOROOT...
THEY BE HERE, SOMEWHERE: 1. Start With $PATH / %PATH%
Segments, Then: 2. Look In $GOBIN / %GOBIN% 3. Look In $GOPATH / %GOPATH% Segments In The bin Directory
AND THEN IF YOU CAN'T FIND THEM, OFFER TO: go
get -u THE REQUIRED TOOLS! (THERE IS NO MAGIC, THIS CAN BE DISABLED)
THIS REVELATION LED TO go-plus V2 (PLUS A LOAD OF
OTHER INTERNAL AWESOMENESS) TO PREPARE FOR THE ADDITION OF:
AUTOCOMPLETE (POWERED BY gocode)
ORACLE (POWERED BY oracle) ;)
GO TO DEFINITION (POWERED BY godef)
GO TO DOCUMENTATION (POWERED BY godoc)
AND ctags SUPPORT (POWERED BY gotags)
ALSO THE PACKAGE IS WRITTEN IN COFFEESCRIPT (Yeah, I Made
A Few Mistakes As I Learned CoffeeScript) IS THIS AS IRONIC TO YOU AS IT IS TO ME?
AND ON THAT BOMBSHELL... Goodnight GOT ANY QUESTIONS? TWITTER: @JOEFITZGERALD