Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
dot-emacs
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Stéphane Del Pino
dot-emacs
Commits
60fe12c9
Commit
60fe12c9
authored
Apr 16, 2020
by
Stéphane Del Pino
Browse files
Options
Downloads
Patches
Plain Diff
Quelques corrections de la doc
parent
bd1b0f5d
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
Configuration.org
+58
-56
58 additions, 56 deletions
Configuration.org
with
58 additions
and
56 deletions
Configuration.org
+
58
−
56
View file @
60fe12c9
...
@@ -62,7 +62,8 @@
...
@@ -62,7 +62,8 @@
#+END_SRC
#+END_SRC
** Auto-fill
** Auto-fill
Utilise l'auto-fill
Utilise le mode mineur ~auto-fill~ (des retours à la ligne sont
automatiquement ajoutés quand les lignes sont trop longues).
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(turn-on-auto-fill)
(turn-on-auto-fill)
#+END_SRC
#+END_SRC
...
@@ -73,7 +74,7 @@ Utilise l'auto-fill
...
@@ -73,7 +74,7 @@ Utilise l'auto-fill
** Supression des blancs inutiles
** Supression des blancs inutiles
On retire les blancs qui traînent en fin de ligne à la sauvegarde d'un
On retire les blancs qui traînent en fin de ligne à la sauvegarde d'un
buffer
/
buffer
/
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(add-hook 'before-save-hook
(add-hook 'before-save-hook
(lambda ()
(lambda ()
...
@@ -82,7 +83,7 @@ buffer
...
@@ -82,7 +83,7 @@ buffer
#+END_SRC
#+END_SRC
** Numéros de lignes
** Numéros de lignes
Affiche les numéros des lignes en marge
Affiche les numéros des lignes en marge
de gauche.
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(when (version<= "26.0.50" emacs-version)
(when (version<= "26.0.50" emacs-version)
(progn
(progn
...
@@ -91,7 +92,7 @@ Affiche les numéros des lignes en marge
...
@@ -91,7 +92,7 @@ Affiche les numéros des lignes en marge
#+END_SRC
#+END_SRC
** Powerline
** Powerline
Un bel affichage pour la barre d'état (
=
mode
-
line
=
)
Un bel affichage pour la barre d'état (
/
modeline
/
)
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(use-package powerline
(use-package powerline
:ensure t
:ensure t
...
@@ -122,15 +123,15 @@ Aide en ligne pour les raccourcis (/quelle touche ?/)
...
@@ -122,15 +123,15 @@ Aide en ligne pour les raccourcis (/quelle touche ?/)
#+END_SRC
#+END_SRC
** Gnuplot
** Gnuplot
Ajout du mode gnuplot, en particulier pour les interactions avec
Ajout du mode
~
gnuplot
~
, en particulier pour les interactions avec
o
rg-mode
~O
rg-mode
~
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(use-package gnuplot
(use-package gnuplot
:ensure t)
:ensure t)
#+END_SRC
#+END_SRC
** Org mode
** Org mode
/Org bullets/ pour un plus bel affichage
/Org bullets/ pour un plus bel affichage
des sections
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(use-package org
(use-package org
:ensure t
:ensure t
...
@@ -199,9 +200,9 @@ org-mode
...
@@ -199,9 +200,9 @@ org-mode
#+END_SRC
#+END_SRC
** Ace window
** Ace window
Permet de changer facilement de fenêtre.
S'il y a plus de deux
Permet de changer facilement de fenêtre. S'il y a plus de deux
/buffers/
buffers
leur numéros sont affichés et il suffit de taper le numéro de
leur numéros sont affichés et il suffit de taper le numéro de
la
la
fenêtre choisie pour s'y rendre.
fenêtre choisie pour s'y rendre.
| Raccourci | Description |
| Raccourci | Description |
|-----------+----------------------------------------|
|-----------+----------------------------------------|
| ~C-x o~ | Met le curseur dans une autre fenêtre. |
| ~C-x o~ | Met le curseur dans une autre fenêtre. |
...
@@ -244,14 +245,14 @@ Interface de complétion
...
@@ -244,14 +245,14 @@ Interface de complétion
** Swiper
** Swiper
Améliore la recherche incrémentale. Les raccourcis sont les raccourcis
Améliore la recherche incrémentale. Les raccourcis sont les raccourcis
classiques. Deux différences notables.
classiques. Deux différences notables.
- ~SPC~ joue le rôle de joker
:
- ~SPC~ joue le rôle de joker
: ~r rc~ correspond au mot /recherche/ par
~r rc~ conserve le mot /recherche/ par
exemple
exemple
- Si on souhaite créer un nouveau fichier avec ~C-x C-f~ dont le nom
- Si on souhaite créer un nouveau fichier avec ~C-x C-f~ dont le nom
est
est
une sous-chaîne d'un fichier existant, il ne faut pas utiliser
une sous-chaîne d'un fichier existant, il ne faut pas utiliser
~RET~
~RET~
pour valider, mais ~C-M-j~. Utiliser ~RET~ valide la
pour valider, mais ~C-M-j~. Utiliser ~RET~ valide la
recherche, ~C-M-j~
recherche, ~C-M-j~
valide la chaîne saisie. Il est également
valide la chaîne saisie. Il est également
possible de sélectionner
possible de sélectionner
la zone de saisie (avec les flèches) et de
la zone de saisie (avec les flèches) et de
simplement valider la
simplement valider la
chaîne avec ~RET~.
chaîne avec ~RET~.
| Raccourci | Description |
| Raccourci | Description |
|-----------+-------------------------------------------------|
|-----------+-------------------------------------------------|
| ~C-s~ | Recherche incrémentale vers le bas |
| ~C-s~ | Recherche incrémentale vers le bas |
...
@@ -315,7 +316,7 @@ Boites de dialogue pour la complétion
...
@@ -315,7 +316,7 @@ Boites de dialogue pour la complétion
#+END_SRC
#+END_SRC
** C++
** C++
Transforme Emacs en un véritable IDE en utilisant Irony
Transforme Emacs en un véritable IDE en utilisant
~
Irony
~
*** On branche Irony à Company
*** On branche Irony à Company
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(use-package company-irony
(use-package company-irony
...
@@ -335,7 +336,7 @@ Transforme Emacs en un véritable IDE en utilisant Irony
...
@@ -335,7 +336,7 @@ Transforme Emacs en un véritable IDE en utilisant Irony
#+END_SRC
#+END_SRC
*** Eldoc / Irony
*** Eldoc / Irony
Affiche la documentation des objets/f
u
nctions dans le minibuffer
Affiche la documentation des objets/f
o
nctions dans le minibuffer
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(use-package irony-eldoc
(use-package irony-eldoc
:ensure t
:ensure t
...
@@ -343,7 +344,7 @@ Affiche la documentation des objets/functions dans le minibuffer
...
@@ -343,7 +344,7 @@ Affiche la documentation des objets/functions dans le minibuffer
(add-hook 'irony-mode-hook #'irony-eldoc))
(add-hook 'irony-mode-hook #'irony-eldoc))
#+END_SRC
#+END_SRC
*** Formatage automatique : clang-format
*** Formatage automatique :
~
clang-format
~
Création d'un raccourci spécial pour formater une zone du code.
Création d'un raccourci spécial pour formater une zone du code.
| Raccourci | Description |
| Raccourci | Description |
|-----------+--------------------------------------------------|
|-----------+--------------------------------------------------|
...
@@ -355,10 +356,10 @@ Création d'un raccourci spécial pour formater une zone du code.
...
@@ -355,10 +356,10 @@ Création d'un raccourci spécial pour formater une zone du code.
(("C-c C-f" . clang-format-region)))
(("C-c C-f" . clang-format-region)))
#+END_SRC
#+END_SRC
Remplace l'indentation classique d'Emacs par clang-format en
C/
C++
Remplace l'indentation classique d'Emacs par
~
clang-format
~
en
~C~/~
C++
~
| Raccourci | Description |
| Raccourci | Description |
|-----------+--------------------------------------------------|
|-----------+--------------------------------------------------|
| ~<TAB>~ | Indente la région comme définie par clang-format |
| ~<TAB>~ | Indente la région comme définie par
~
clang-format
~
|
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(defun clang-format-c-mode-common-hook ()
(defun clang-format-c-mode-common-hook ()
(fset 'c-indent-region 'clang-format-region)
(fset 'c-indent-region 'clang-format-region)
...
@@ -366,7 +367,7 @@ Remplace l'indentation classique d'Emacs par clang-format en C/C++
...
@@ -366,7 +367,7 @@ Remplace l'indentation classique d'Emacs par clang-format en C/C++
(add-hook 'c-mode-common-hook 'clang-format-c-mode-common-hook)
(add-hook 'c-mode-common-hook 'clang-format-c-mode-common-hook)
#+END_SRC
#+END_SRC
Force le formatage du fichier quand il est sauvgardé
Force le formatage du fichier quand il est sauv
e
gardé
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(defun clang-format-buffer-on-save ()
(defun clang-format-buffer-on-save ()
"Add auto-save hook for clang-format-buffer-smart."
"Add auto-save hook for clang-format-buffer-smart."
...
@@ -386,8 +387,8 @@ Force le formatage du fichier quand il est sauvgardé
...
@@ -386,8 +387,8 @@ Force le formatage du fichier quand il est sauvgardé
:config (modern-c++-font-lock-global-mode t))
:config (modern-c++-font-lock-global-mode t))
#+END_SRC
#+END_SRC
** Th
e
mes
** Th
è
mes
Préc
hargement de quelques themes
C
hargement de quelques themes
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(use-package cloud-theme :ensure t)
(use-package cloud-theme :ensure t)
(use-package zenburn-theme :ensure t)
(use-package zenburn-theme :ensure t)
...
@@ -398,7 +399,7 @@ Préchargement de quelques themes
...
@@ -398,7 +399,7 @@ Préchargement de quelques themes
(use-package solarized-theme :ensure t)
(use-package solarized-theme :ensure t)
#+END_SRC
#+END_SRC
Chargement
d'un th
e
me
Activation
d'un th
è
me
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(load-theme 'sourcerer t)
(load-theme 'sourcerer t)
#+END_SRC
#+END_SRC
...
@@ -444,8 +445,8 @@ Améliore le visuel des parenthèses
...
@@ -444,8 +445,8 @@ Améliore le visuel des parenthèses
(add-hook 'prog-mode-hook #'rainbow-delimiters-mode))
(add-hook 'prog-mode-hook #'rainbow-delimiters-mode))
#+END_SRC
#+END_SRC
** Fly
c
heck
** Fly
C
heck
On branche
f
ly
c
heck à Irony
On branche
~F
ly
C
heck
~
à
~
Irony
~ pour une analyse des erreurs à la volée.
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(use-package flycheck-irony
(use-package flycheck-irony
:ensure t
:ensure t
...
@@ -454,7 +455,7 @@ On branche flycheck à Irony
...
@@ -454,7 +455,7 @@ On branche flycheck à Irony
'(add-hook 'flycheck-mode-hook #'flycheck-irony-setup)))
'(add-hook 'flycheck-mode-hook #'flycheck-irony-setup)))
#+END_SRC
#+END_SRC
On charge
f
ly
c
heck
On charge
~F
ly
C
heck
~
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(use-package flycheck
(use-package flycheck
:ensure t
:ensure t
...
@@ -462,13 +463,13 @@ On charge flycheck
...
@@ -462,13 +463,13 @@ On charge flycheck
(global-flycheck-mode t))
(global-flycheck-mode t))
#+END_SRC
#+END_SRC
Active
f
ly
c
heck globalement
Active
~F
ly
C
heck
~
globalement
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(add-hook 'after-init-hook #'global-flycheck-mode)
(add-hook 'after-init-hook #'global-flycheck-mode)
#+END_SRC
#+END_SRC
** Python
** Python
Attention pour que la configuration fonctionne, il faut installer
Attention pour que la configuration fonctionne, il faut installer
~virtualenv~. Pour les systèmes Debian
~virtualenv~. Pour les systèmes
~
Debian
~
#+BEGIN_SRC bash :eval no
#+BEGIN_SRC bash :eval no
apt install virtualenv
apt install virtualenv
#+END_SRC
#+END_SRC
...
@@ -489,7 +490,7 @@ Attention pour que la configuration fonctionne, il faut installer
...
@@ -489,7 +490,7 @@ Attention pour que la configuration fonctionne, il faut installer
(venv-initialize-eshell))
(venv-initialize-eshell))
#+END_SRC
#+END_SRC
** Y
a
Snippet
** Y
A
Snippet
Le système de templates pour Emacs
Le système de templates pour Emacs
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(use-package yasnippet
(use-package yasnippet
...
@@ -590,7 +591,7 @@ Réduit/agrandit une zone d'édition de manière intelligente
...
@@ -590,7 +591,7 @@ Réduit/agrandit une zone d'édition de manière intelligente
(t (narrow-to-defun))))
(t (narrow-to-defun))))
#+END_SRC
#+END_SRC
Remplace la fonction Emacs standard par
=
dwim
=
Remplace la fonction Emacs standard par
~
dwim
~
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(define-key ctl-x-map "n" #'narrow-or-widen-dwim)
(define-key ctl-x-map "n" #'narrow-or-widen-dwim)
(add-hook 'LaTeX-mode-hook
(add-hook 'LaTeX-mode-hook
...
@@ -600,7 +601,7 @@ Remplace la fonction Emacs standard par =dwim=
...
@@ -600,7 +601,7 @@ Remplace la fonction Emacs standard par =dwim=
#+END_SRC
#+END_SRC
** Web Mode
** Web Mode
Mode avancé pour l'édition de pages
=html=, =CSS=
,...
Mode avancé pour l'édition de pages
~HTML~, ~Css~
,...
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(use-package web-mode
(use-package web-mode
:ensure t
:ensure t
...
@@ -618,7 +619,8 @@ Mode avancé pour l'édition de pages =html=, =CSS=,...
...
@@ -618,7 +619,8 @@ Mode avancé pour l'édition de pages =html=, =CSS=,...
#+END_SRC
#+END_SRC
** Emmet mode
** Emmet mode
Ensemble de fonctions permettant l'édition rapide de markup languages (html,sgml,...)
Ensemble de fonctions permettant l'édition rapide de /markup languages/
(~HTML~, ~SGML~,...)
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(use-package emmet-mode
(use-package emmet-mode
:ensure t
:ensure t
...
@@ -631,7 +633,7 @@ Ensemble de fonctions permettant l'édition rapide de markup languages (html,sgm
...
@@ -631,7 +633,7 @@ Ensemble de fonctions permettant l'édition rapide de markup languages (html,sgm
(add-hook 'css-mode-hook 'emmet-mode))
(add-hook 'css-mode-hook 'emmet-mode))
#+END_SRC
#+END_SRC
** Dired
** Dired
-dwim
Permet d'utiliser reduire/agrandir les affichages de répertoires
Permet d'utiliser reduire/agrandir les affichages de répertoires
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(setq dired-dwim-target t)
(setq dired-dwim-target t)
...
@@ -679,7 +681,7 @@ Configuration LaTeX basique.
...
@@ -679,7 +681,7 @@ Configuration LaTeX basique.
(setq projectile-completion-system 'ivy))
(setq projectile-completion-system 'ivy))
#+END_SRC
#+END_SRC
** Org
mode (langages suportés)
** Org
-
mode (langages suportés)
Charge les langages disponnibles pour org-mode
Charge les langages disponnibles pour org-mode
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(org-babel-do-load-languages
(org-babel-do-load-languages
...
@@ -732,7 +734,7 @@ Change la taille de la police dynamiquement (temporaire)
...
@@ -732,7 +734,7 @@ Change la taille de la police dynamiquement (temporaire)
#+END_SRC
#+END_SRC
** Hydra
** Hydra
Outil de simplification des raccourcis. Un popup contextuel apparaît.
Outil de simplification des raccourcis. Un
/
popup
/
contextuel apparaît.
| Raccourci | Description |
| Raccourci | Description |
|-----------+---------------------------------------|
|-----------+---------------------------------------|
| ~C-x t~ | Active désactive certains utilitaires |
| ~C-x t~ | Active désactive certains utilitaires |
...
@@ -776,7 +778,7 @@ Outil de simplification des raccourcis. Un popup contextuel apparaît.
...
@@ -776,7 +778,7 @@ Outil de simplification des raccourcis. Un popup contextuel apparaît.
#+END_SRC
#+END_SRC
** Modes git
** Modes git
Le sublime
*m
agit
*
Le sublime
~M
agit
~.
| Raccourci | Description |
| Raccourci | Description |
|-----------+----------------------------------|
|-----------+----------------------------------|
| ~C-x g~ | Démarre *magit* (~M-x magit-status~) |
| ~C-x g~ | Démarre *magit* (~M-x magit-status~) |
...
@@ -787,17 +789,18 @@ Le sublime *magit*
...
@@ -787,17 +789,18 @@ Le sublime *magit*
(progn (bind-key "C-x g" 'magit-status)))
(progn (bind-key "C-x g" 'magit-status)))
#+END_SRC
#+END_SRC
Affiche l'état git dans la marge
Affiche l'état
~
git
~
dans la marge
?
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(setq magit-status-margin
(setq magit-status-margin
'(nil "%Y-%m-%d %H:%M " magit-log-margin-width t 18))
'(nil "%Y-%m-%d %H:%M " magit-log-margin-width t 18))
#+END_SRC
#+END_SRC
Utilise git-gutter avec hydra. Permet de voir rapidement les
Utilise ~git-gutter~ avec ~hydra~. Permet de voir rapidement les
modifications, de les valider (~git add -p~) ou de les annuler (~git checkout -p~)
modifications, de les valider (~git add -p~) ou de les annuler (~git
checkout -p~)
| Raccourci | Description |
| Raccourci | Description |
|-----------+----------------------------------|
|-----------+----------------------------------
-----------------
|
| ~
C-x g~ | Démarre *magit* (~M-x magit-status~)
|
| ~
M-g M-g~ | Lance le menu ~Hydra~ pour l'interaction ~git-gutter~
|
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(use-package git-gutter
(use-package git-gutter
:ensure t
:ensure t
...
@@ -839,8 +842,8 @@ modifications, de les valider (~git add -p~) ou de les annuler (~git checkout -p
...
@@ -839,8 +842,8 @@ modifications, de les valider (~git add -p~) ou de les annuler (~git checkout -p
:color blue))
:color blue))
#+END_SRC
#+END_SRC
** Fly
s
pell
** Fly
S
pell
Correcteur orthographique à la volée
Correcteur orthographique à la volée
.
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(add-hook 'LaTeX-mode-hook 'turn-on-flyspell)
(add-hook 'LaTeX-mode-hook 'turn-on-flyspell)
(add-hook 'c++-mode-hook 'turn-on-flyspell)
(add-hook 'c++-mode-hook 'turn-on-flyspell)
...
@@ -855,7 +858,7 @@ Correcteur orthographique à la volée
...
@@ -855,7 +858,7 @@ Correcteur orthographique à la volée
#+END_SRC
#+END_SRC
** C++
** C++
Activation des
*
ggtags
*
Activation des
~
ggtags
~
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(use-package ggtags
(use-package ggtags
:ensure t
:ensure t
...
@@ -922,7 +925,7 @@ une définition.
...
@@ -922,7 +925,7 @@ une définition.
#+END_SRC
#+END_SRC
** Origami
** Origami
Mode permettant le pliage (/folding/) de r
e
gions
Mode permettant le pliage (/folding/) de r
é
gions
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(use-package origami
(use-package origami
:ensure t)
:ensure t)
...
@@ -967,8 +970,8 @@ Un meilleur gestionnaire de /buffers/.
...
@@ -967,8 +970,8 @@ Un meilleur gestionnaire de /buffers/.
(setq ibuffer-expert t)
(setq ibuffer-expert t)
#+END_SRC
#+END_SRC
** W
g
rep
** W
G
rep
Permet de modifier le résultat d'un
*
grep
*
(donc simultanément dans
Permet de modifier le résultat d'un
~
grep
~
(donc simultanément dans
plusieurs fichiers par exemple).
plusieurs fichiers par exemple).
| Raccourci | Description |
| Raccourci | Description |
...
@@ -986,7 +989,7 @@ voir [[https://github.com/emacsmirror/emacswiki.org/blob/master/wgrep.el][wgrep]
...
@@ -986,7 +989,7 @@ voir [[https://github.com/emacsmirror/emacswiki.org/blob/master/wgrep.el][wgrep]
#+END_SRC
#+END_SRC
** PDF tools
** PDF tools
Outils d'édition de PDF dans Emacs
Outils d'édition de
~
PDF
~
dans Emacs
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(use-package pdf-tools
(use-package pdf-tools
:ensure t
:ensure t
...
@@ -1024,9 +1027,8 @@ Quelques réglages utilitaires
...
@@ -1024,9 +1027,8 @@ Quelques réglages utilitaires
#+END_SRC
#+END_SRC
** Keyfreq
** Keyfreq
Enregistre la fréquence d'utilisation de commandes.
Enregistre la fréquence d'utilisation de commandes. Pour obtenir les
Pour obtenir les statistiques, utiliser la commande
statistiques, utiliser la commande ~M-x keyfreq-show~
~M-x keyfreq-show~
#+BEGIN_SRC emacs-lisp
#+BEGIN_SRC emacs-lisp
(use-package keyfreq
(use-package keyfreq
:ensure t
:ensure t
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment