anchor.diff:  
                   fromNixpkgs = pkgs.vimPlugins.${if hasRename then renamed else name};
                 in
  -                if hasOverride then mkGhPlugin p else fromNixpkgs;
  +                if hasRawOverride then rawPluginsOverrides.${name}
  +                else if hasOverride then mkGhPlugin p
  +                else fromNixpkgs;
             in
               builtins.map expandPlugin x.other;
         };
  
positive.code:     "fzf" = "fzfWrapper";
    };
  
    mkGhPlugin = plugin: pkgs.vimUtils.buildVimPlugin rec {
      name = builtins.elemAt plugin 1;
  
      src =
        let
          origin =
            pkgs.fetchFromGitHub ({
              owner = builtins.head plugin;
              repo = name;
            } // pluginsOverrides.${name});
        in
          pkgs.runCommand "${name}-clean" {} ''
            set -Eeuo pipefail
            mkdir -- "$out"
            cp -r -- ${esc origin}/* "$out"
            rm -f -- "$out/Makefile"
          '';
    };
  
    plugins =
  
negative.code:               (builtins.map (x: splitOwnerAndRepo (getGhRepo x)) (filterPlugs srcLines)));
  
        asPlugins = x: {
          # Own plugins are always overridden.
          # If there is “raw” override for an “own” plugin then it has more priority.
          own =
            let
              toPlugin = p:
                let name = builtins.elemAt p 1;
                in rawPluginsOverrides.${name} or (mkGhPlugin p);
            in
              builtins.map toPlugin x.own;
  
          other =
            let
              expandPlugin = p:
                let
                  name = builtins.elemAt p 1;
                  hasRawOverride = builtins.hasAttr name rawPluginsOverrides;
                  hasOverride = builtins.hasAttr name ghPluginsOverrides;
                  hasDotVim = builtins.match ".+\.vim" name != null;
                  hasRename = builtins.hasAttr name pluginsRenames || hasDotVim;
  
  