Feature: Support more languages in source view.

Abierto Apto para principiantes
#6,436 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
75/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
cpp, javascript, rust, typescript
Área
frontend

Línea de trabajo

La elección del lenguaje está en src/components/shared/SourceView-codemirror.ts, donde el switch fija JavaScript, Rust y C++ (líneas 49-79 en el commit enlazado). Lee ese switch y luego comprueba cómo se podría llamar a LanguageDescription.matchFilename de CodeMirror a partir del nombre del archivo antes del respaldo de JavaScript. Está terminado cuando un archivo fuente con otra extensión, como .py, recibe resaltado de sintaxis y los casos existentes de JS, Rust y C++ siguen funcionando.

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

Descripción

Since processed profile json version 64 its possible to include source code of various languages in the profile json. It would be far nicer if this source code was able to be syntax highlighted, at least for all languages supported by CodeMirror.

The current syntax highlighting switch hardcodes js, rust, and cpp:
https://github.com/firefox-devtools/profiler/blob/f3c1c766e85154725ed7c1c4ecdf7d4aa9136892/src/components/shared/SourceView-codemirror.ts#L49-L79

Codemirror supports filename matching across all its built in languages: https://codemirror.net/docs/ref/#language.LanguageDescription^matchFilename

I think, mostly the task would be to actually call this before falling back to javascript.

Image

The profile for screenshot:
ffprofile.json

┆Issue is synchronized with this Jira Task

Lenguaje dominante
TypeScript
Estrellas
1.5k
Forks
496
Merge medio
1 d 23 h
PR fusionados (30 d)
37

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

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 firefox-devtools/profiler

Todos los issues de firefox-devtools/profiler

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.