LCOV - code coverage report
Current view: top level - /lua/yoda - environment.lua (source / functions) Coverage Total Hit
Test: lcov.info Lines: 100.0 % 32 32
Test Date: 2026-04-14 10:33:13 Functions: - 0 0

            Line data    Source code
       1              : -- lua/yoda/environment.lua
       2              : -- Environment detection and notification for Yoda.nvim
       3              : 
       4            1 : local M = {}
       5              : 
       6              : -- ============================================================================
       7              : -- Constants
       8              : -- ============================================================================
       9              : 
      10            1 : local NOTIFICATION_TIMEOUT_MS = 2000 -- Display environment notification for 2 seconds
      11              : 
      12              : --- Show environment notification on startup
      13              : --- Displays which mode Yoda is running in (Home/Work)
      14              : M.show_notification = function()
      15            7 :   local yoda_config = vim.g.yoda_config
      16            7 :   if not (yoda_config and yoda_config.show_environment_notification) then
      17            2 :     return
      18              :   end
      19              : 
      20           10 :   vim.schedule(function()
      21            8 :     local env = vim.env.YODA_ENV or ""
      22            4 :     local env_label = "Unknown"
      23            4 :     local icon = ""
      24              : 
      25            4 :     if env == "home" then
      26            3 :       env_label = "Home"
      27            3 :       icon = ""
      28            1 :     elseif env == "work" then
      29            1 :       env_label = "Work"
      30            1 :       icon = "󰒱"
      31              :     end
      32              : 
      33            4 :     local msg = string.format("%s  Yoda is in %s mode", icon, env_label)
      34            4 :     require("yoda-adapters.notification").notify(msg, "info", { title = "Yoda Environment", timeout = NOTIFICATION_TIMEOUT_MS })
      35            9 :   end)
      36            6 : end
      37              : 
      38              : --- Show local development notification on startup
      39              : --- Displays when YODA_DEV_LOCAL is set
      40              : M.show_local_dev_notification = function()
      41           10 :   if not vim.env.YODA_DEV_LOCAL then
      42            1 :     return
      43              :   end
      44              : 
      45            8 :   vim.schedule(function()
      46            3 :     local msg = "  Local Development Mode Active"
      47            3 :     require("yoda-adapters.notification").notify(msg, "info", { title = "Yoda Development", timeout = NOTIFICATION_TIMEOUT_MS })
      48            7 :   end)
      49            5 : end
      50              : 
      51              : --- Get current environment mode
      52              : --- @return string Environment mode (home/work/unknown)
      53              : M.get_mode = function()
      54           12 :   local env = vim.env.YODA_ENV or ""
      55            6 :   if env == "home" or env == "work" then
      56            2 :     return env
      57              :   end
      58            4 :   return "unknown"
      59            1 : end
      60              : 
      61            1 : return M
        

Generated by: LCOV version 2.0-1