Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Components

Abierto
#7 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
rust, shell
Área
cli

Línea de trabajo

El issue es una lluvia de ideas sobre posibles componentes del shell, incluidos traductores, despachadores, búferes, compiladores, ejecutores y renderizadores, pero no menciona archivos, pruebas ni puntos de entrada. Primero concreta la propuesta en un componente específico y define sus interfaces y criterios de aceptación; el trabajo estará terminado cuando ese componente delimitado y su comportamiento esperado estén claramente especificados.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

I can think of a lot of potentially useful, pluggable components. The following is a brain dump of the types of components I can imagine. Some of them may not need their own types, but can share types with other components.

  • Translator from raw input bytes to high level events. If we integrate with a specific terminal, we can receive high level events directly, allowing us to handle, for example, touchpad gestures.
  • Dispatcher: Translate events into directives, I.E. what to do. This component can handle key bindings.
  • Buffer: Translates directives that operate on text into new text.
  • Compiler: Translates a text buffer into Ok(AST) or Err(Error).
  • Stage: A -> Result<B, Error> (could implement lexing, parsing, or rest of the compiler)
  • Executor: Executes an AST.
  • Completor: Returns completions for a partial buffer
  • Historian: Given an executed command, and a result, adds a history entry.
  • Suggestor: Given a partial buffer, gives suggestions. (Like flags, as opposed to full completions of the buffer)
  • Prompter: Draws the prompt.
  • Optimizer: Given a program, produces a modified or better program.
  • Analyzer: Given a program, catches errors with that program statically. Might also produce an output program which is better typed.
  • Helper: Given a buffer, produce help about that buffer. (About command, args, probably)
  • Multiplexer: Handle multiplexing input between multiple shells. (Like tmux.)
  • Searcher: Handles finding binaries in your path.
  • Renderer: Turns markup into styled text.
Lenguaje dominante
Rust
Estrellas
0
Forks
1
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de casey/shellkit

Todos los issues de casey/shellkit

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.