Added basic syntax highlighting to blame

This commit is contained in:
Abdelilah El Aissaoui 2024-08-20 23:01:30 +02:00
parent dfe9ebb4f0
commit 0dad158275
No known key found for this signature in database
GPG Key ID: 7587FC860F594869

View File

@ -37,6 +37,7 @@ import com.jetpackduba.gitnuro.theme.secondarySurface
import com.jetpackduba.gitnuro.theme.tertiarySurface import com.jetpackduba.gitnuro.theme.tertiarySurface
import com.jetpackduba.gitnuro.ui.components.PrimaryButton import com.jetpackduba.gitnuro.ui.components.PrimaryButton
import com.jetpackduba.gitnuro.ui.components.ScrollableLazyColumn import com.jetpackduba.gitnuro.ui.components.ScrollableLazyColumn
import com.jetpackduba.gitnuro.ui.diff.syntax_highlighter.getSyntaxHighlighterFromExtension
import org.eclipse.jgit.blame.BlameResult import org.eclipse.jgit.blame.BlameResult
import org.eclipse.jgit.revwalk.RevCommit import org.eclipse.jgit.revwalk.RevCommit
@ -48,6 +49,8 @@ fun Blame(
onClose: () -> Unit, onClose: () -> Unit,
) { ) {
val fileExtension = filePath.split(".").lastOrNull()
val syntaxHighlighter = getSyntaxHighlighterFromExtension(fileExtension)
val focusRequester = remember { FocusRequester() } val focusRequester = remember { FocusRequester() }
LaunchedEffect(Unit) { LaunchedEffect(Unit) {
@ -118,7 +121,7 @@ fun Blame(
} }
Text( Text(
text = line + blameResult.resultContents.lineDelimiter, text = syntaxHighlighter.syntaxHighlight(line + blameResult.resultContents.lineDelimiter),
color = MaterialTheme.colors.onBackground, color = MaterialTheme.colors.onBackground,
modifier = Modifier.padding(vertical = 8.dp, horizontal = 16.dp), modifier = Modifier.padding(vertical = 8.dp, horizontal = 16.dp),
fontFamily = notoSansMonoFontFamily, fontFamily = notoSansMonoFontFamily,