Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Building An Editor Package For Go
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
230
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
150
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
110
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.5k
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
210
超初心者からでも大丈夫!オープンソース半導体の楽しみ方〜今こそ!オレオレチップをつくろう〜
keropiyo
0
110
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
190
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
240
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.1k
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
140
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
570
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
1
2.7k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
Into the Great Unknown - MozCon
thekraken
40
2.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
[SF Ruby Conf 2025] Rails X
palkan
1
750
WENDY [Excerpt]
tessaabrams
9
36k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
140
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
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