Esempio n. 1
0
def bootstrap_rplugins_io() -> Do:
    vr = yield installable_plugins()
    dir = yield Ribo.setting(venv_dir)
    global_interpreter = yield Ribo.setting_raw(interpreter)
    ios = yield vr.traverse(
        lambda a: bootstrap_rplugin(a, dir, global_interpreter.to_maybe)
        (a.meta), NS)
    yield NS.pure(GatherIOs(ios, timeout=30))
Esempio n. 2
0
def install_plugins_result(
    results: List[Either[IOException, SubprocessResult[str]]]
) -> NS[Env, Tuple[List[SubprocessResult[str]], List[str]]]:
    venvs = results.flat_map(lambda a: a.cata(ReplaceVal(Nil), List))
    errors = results.flat_map(lambda a: a.cata(List, ReplaceVal(Nil)))
    log.debug(f'installed plugins: {venvs}')
    if errors:
        log.debug(f'error installing plugins: {errors}')
    return NS.pure((venvs, errors))
Esempio n. 3
0
def deactivate_rplugin(active_rplugin: ActiveRplugin) -> Do:
    rplugin = active_rplugin.rplugin
    meta = active_rplugin.meta
    cname = camelcaseify(rplugin.name)
    rpc_triggers_fun = f'{cname}RpcTriggers'
    triggers = yield NS.lift(nvim_call_json(rpc_triggers_fun))
    yield NS.modify(lambda a: a.deactivate_rplugin(meta))
    yield NS.lift(stop_rplugin(rplugin.name, meta.channel, triggers))
    log.debug(f'deactivated {active_rplugin}')
    yield NS.pure(None)
Esempio n. 4
0
 def dir(self, a: HsStackDirRplugin
         ) -> NS[CrmRibosome, GatherItem[Tuple[str, bool]]]:
     return NS.pure(GatherIO(IO.pure((self.rplugin.name, False))))
Esempio n. 5
0
 def hackage(
         self, a: HsHackageRplugin
 ) -> NS[CrmRibosome, GatherItem[Tuple[str, bool]]]:
     exe = cabal_rplugin_executable(self.rplugin)
     return NS.pure(GatherIO(IO.pure((self.rplugin.name, exe.is_file()))))
Esempio n. 6
0
def reboot_test() -> NS[None, None]:
    return NS.pure(17)
Esempio n. 7
0
def ext_test() -> NS[None, int]:
    return NS.pure(23)
Esempio n. 8
0
def test() -> NS[None, int]:
    import extra_path
    return NS.pure(13)
Esempio n. 9
0
def test() -> NS[None, int]:
    return NS.pure(13)
Esempio n. 10
0
def bootstrap_hs_rplugin(rplugin: InstallableRplugin,
                         meta: HsInstallableRplugin) -> None:
    yield NS.pure(IO.pure(rplugin.rplugin.name))
Esempio n. 11
0
def installing_message(rplugins: List[str]) -> Do:
    yield NS.pure(Echo.none() if rplugins.empty else Echo.
                  info(resources.installing_plugins(rplugins)))