@@ -8,8 +8,8 @@ path = require 'path'
8
8
{processLinks } = require ' ../ui/docs'
9
9
workspace = require ' ./workspace'
10
10
modules = require ' ./modules'
11
- {eval : evaluate , evalall , evalshow , cd , clearLazy } =
12
- client .import rpc : [' eval' , ' evalall' , ' evalshow' ], msg : [' cd' , ' clearLazy' ]
11
+ {eval : evaluate , evalall , evalshow , cd , clearLazy , activateProject , activateDefaultProject } =
12
+ client .import rpc : [' eval' , ' evalall' , ' evalshow' ], msg : [' cd' , ' clearLazy' , ' activateProject ' , ' activateDefaultProject ' ]
13
13
searchDoc = client .import (' docs' )
14
14
15
15
module .exports =
@@ -109,19 +109,32 @@ module.exports =
109
109
cd (dir)
110
110
111
111
cdHere : (el ) ->
112
+ dir = @ currentDir (el)
113
+ if dir
114
+ @ _cd (dir)
115
+
116
+ activateProject : (el ) ->
117
+ dir = @ currentDir (el)
118
+ if dir
119
+ activateProject (dir)
120
+
121
+ activateDefaultProject : ->
122
+ activateDefaultProject ()
123
+
124
+ currentDir : (el ) ->
112
125
# invoked from tree-view context menu
113
126
dirEl = el .closest (' .directory' )
114
127
if dirEl
115
128
pathEl = dirEl .querySelector (' [data-path]' )
116
129
if pathEl
117
130
path = pathEl .dataset .path
118
- return @ _cd ( path)
131
+ return path
119
132
# invoked from normal command usage
120
133
file = client .editorPath (atom .workspace .getCenter ().getActiveTextEditor ())
121
134
if ! file
122
135
atom .notifications .addError ' This file has no path.'
123
136
else
124
- @ _cd path .dirname (file)
137
+ return path .dirname (file)
125
138
126
139
cdProject : ->
127
140
dirs = atom .project .getPaths ()
0 commit comments