anchor.diff:      );
   
     findDependenciesRecursively = plugins: lib.concatMap transitiveClosure plugins;
  -
  -  attrnamesToPlugins = { knownPlugins, names }:
  -    map (name: if builtins.isString name then knownPlugins.${name} else name) knownPlugins;
  -
  -  pluginToAttrname = plugin:
  -    plugin.pname;
  -
  -  pluginsToAttrnames = plugins: map pluginToAttrname plugins;
   
     vamDictToNames = x:
         if builtins.isString x then [x]
  
positive.code: let
    inherit (stdenv) lib;
  
    # make sure a plugin is a derivation. If plugin already is a derivation, this
    # is a no-op. If it is a string, it is looked up in knownPlugins.
    pluginToDrv = knownPlugins: plugin:
      if builtins.isString plugin then
        # make sure `pname` is set to that we are able to convert the derivation
        # back to a string.
        ( knownPlugins.${plugin} // { pname = plugin; })
      else
        plugin;
  
    # transitive closure of plugin dependencies (plugin needs to be a derivation)
    transitiveClosure = plugin:
  
negative.code:             rev = "4c596548216b7c19971f8fc94e38ef1a2b55fee6";
              sha256 = "0f1cpnp1nxb4i5hgymjn2yn3k1jwkqmlgw1g02sq270lavp2dzs9";
            };
            # make sure string dependencies are handled
            dependencies = [ "vim-nix" ];
          };
        });
      vimrcConfig.vam.pluginDictionaries = [ { names = [ "vim-trailing-whitespace" ]; } ];
  