All Projects → tpope → vim-dotenv

tpope / vim-dotenv

Licence: other
dotenv.vim: Basic support for .env and Procfile

Programming Languages

Vim Script
2826 projects

dotenv.vim

This plugin provides basic support for .env and Procfile.

Interactive Usage

Use :Dotenv {file} or :Dotenv {dir} to load a .env file and set the corresponding environment variables in Vim. Use :verbose Dotenv to see what variables are actually being set.

Projections

With projectionist.vim and dispatch.vim installed, you'll get a default :Start of foreman start for projects with a Procfile, and a default :Dispatch of foreman check for the Procfile itself.

Dispatch

If you call :Dispatch foreman run whatever or :Dispatch dotenv whatever, the compiler will be correctly selected for the whatever command.

API

While the above are all marginally helpful, this is the use case that inspired the plugin. Other plugins can call DotenvGet('VAR') to get the value of $VAR globally or from the current buffer's .env. Here's a wrapper to optionally use DotenvGet() if it's available.

function! s:env(var) abort
  return exists('*DotenvGet') ? DotenvGet(a:var) : eval('$'.a:var)
endfunction

let db_url = s:env('DATABASE_URL')

There's also DotenvExpand(), a drop-in replacement for expand().

function! s:expand(expr) abort
  return exists('*DotenvExpand') ? DotenvExpand(a:expr) : expand(a:expr)
endfunction

License

Copyright © Tim Pope. Distributed under the same terms as Vim itself. See :help license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].