@@ -33,6 +33,8 @@ struct WakatimeLanguageServer {
3333 client : Client ,
3434 settings : ArcSwap < Settings > ,
3535 wakatime_path : String ,
36+ project_folder : String ,
37+ alternate_project : String ,
3638 current_file : Mutex < CurrentFile > ,
3739 platform : ArcSwap < String > ,
3840}
@@ -82,6 +84,18 @@ impl WakatimeLanguageServer {
8284 . arg ( "--entity" )
8385 . arg ( event. uri . as_str ( ) ) ;
8486
87+ if !self . project_folder . is_empty ( ) {
88+ command
89+ . arg ( "--project-folder" )
90+ . arg ( self . project_folder . as_str ( ) ) ;
91+ }
92+
93+ if !self . alternate_project . is_empty ( ) {
94+ command
95+ . arg ( "--alternate-project" )
96+ . arg ( self . alternate_project . as_str ( ) ) ;
97+ }
98+
8599 if !self . platform . load ( ) . is_empty ( ) {
86100 command. arg ( "--plugin" ) . arg ( self . platform . load ( ) . as_str ( ) ) ;
87101 }
@@ -265,6 +279,16 @@ async fn main() {
265279 . help ( "wakatime-cli path" )
266280 . required ( true ) ,
267281 )
282+ . arg (
283+ Arg :: new ( "project-folder" )
284+ . long ( "project-folder" )
285+ . help ( "project folder path" ) ,
286+ )
287+ . arg (
288+ Arg :: new ( "alternate-project" )
289+ . long ( "alternate-project" )
290+ . help ( "alternate project name" ) ,
291+ )
268292 . get_matches ( ) ;
269293
270294 let wakatime_cli = if let Some ( s) = matches. get_one :: < String > ( "wakatime-cli" ) {
@@ -273,6 +297,18 @@ async fn main() {
273297 "wakatime-cli" . to_string ( )
274298 } ;
275299
300+ let project_folder = if let Some ( s) = matches. get_one :: < String > ( "project-folder" ) {
301+ s. to_string ( )
302+ } else {
303+ String :: new ( )
304+ } ;
305+
306+ let alternate_project = if let Some ( s) = matches. get_one :: < String > ( "alternate-project" ) {
307+ s. to_string ( )
308+ } else {
309+ String :: new ( )
310+ } ;
311+
276312 let stdin = tokio:: io:: stdin ( ) ;
277313 let stdout = tokio:: io:: stdout ( ) ;
278314
@@ -281,6 +317,8 @@ async fn main() {
281317 client,
282318 settings : ArcSwap :: from_pointee ( Settings :: default ( ) ) ,
283319 wakatime_path : wakatime_cli,
320+ project_folder,
321+ alternate_project,
284322 platform : ArcSwap :: from_pointee ( String :: new ( ) ) ,
285323 current_file : Mutex :: new ( CurrentFile {
286324 uri : String :: new ( ) ,
0 commit comments