TextMate - Définition et Explications

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

TextMate
Importez le logo de ce logiciel
Développeur Allan Odgaard
Dernière version 1.5.9 révision 1510 [+/−]
Environnement (L'environnement est tout ce qui nous entoure. C'est l'ensemble des éléments naturels et...) Mac OS X (Mac OS X est une ligne de systèmes d’exploitation propriétaire développés et...)
Type Éditeur de texte
Licence Licence propriétaire
Site Web (Un site Web est un ensemble de pages Web hyperliées entre elles et mises en ligne à une...) macromates.com

TextMate est un éditeur de texte générique pour Mac OS (Mac OS (pour Macintosh Operating System) est le nom du système d'exploitation d'Apple pour ses...) X. Il combine la puissance (Le mot puissance est employé dans plusieurs domaines avec une signification particulière :) des éditeurs de texte tels que Vim (Vim est un éditeur de texte, c’est-à-dire un logiciel permettant la manipulation...) et Emacs avec la simplicité et l'élégance du GUI d'un programme Macintosh (Macintosh (prononcé /makintɔʃ/) ou Mac est une série de différentes...).

La plupart de ses utilisateurs sont des programmeurs parce que TextMate est conçu pour s'intégrer naturellement dans le workflow (Un workflow est un flux d'informations au sein d'une organisation, comme par exemple la...) de la programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent...) agile. La plupart des contributeurs principaux de Ruby on Rails (Ruby on Rails, également appelé RoR ou Rails est un framework web libre écrit en...) utilisent TextMate. La puissance de TextMate a pour conséquence que la courbe (En géométrie, le mot courbe, ou ligne courbe désigne certains sous-ensembles du...) d'apprentissage (L’apprentissage est l'acquisition de savoir-faire, c'est-à-dire le processus...) est plus difficile que celle d'éditeurs plus simples.

Les fonctionnalités les plus notables sont les projets dont les fichiers sont sélectionnables par des onglets, les macros enregistrables, le pliage de code, la gestion de snippets, l'intégration au shell et le support d'extensions appelées paquets (bundles).

TextMate 1.5 a gagné l'Apple (Apple, Inc. (Apple Computer, Inc. jusqu'en janvier 2007 ; apple signifie « pomme »...) Design (Le design (la stylique en français) est un domaine visant à la création d'objets,...) Award du meilleur outil (Un outil est un objet finalisé utilisé par un être vivant dans le but d'augmenter son...) de développement informatique (L´informatique - contraction d´information et automatique - est le domaine...) en 2006. Fort de cette reconnaissance, le logiciel (En informatique, un logiciel est un ensemble d'informations relatives à des traitements...) est régulièrement imité, notamment pour des portages vers Linux (Au sens strict, Linux est le nom du noyau de système d'exploitation libre, multitâche,...) ou Windows (Windows est une gamme de systèmes d'exploitation produite par Microsoft, principalement destinées...).

La version 2.0 de TextMate utilise des fonctionnalités spécifiques à Mac OS X 10.5 (Leopard) comme CJC.

Fonctionnalités

TextMate inclut des fonctionnalités qui le distinguent d'autres éditeurs. Ses macros, commandes et snippets permettent l'optimisation de comportements complexes et son système de portées inspiré du système de feuilles de style en cascade de HTML le distingue aujourd'hui des autres éditeurs de texte, permettant la coloration syntaxique (La coloration syntaxique désigne en informatique une fonctionnalité proposée par certains...) d'entités arbitrairement imbriquées.

Portées imbriquées

TextMate permet aux utilisateurs de créer leur propre coloration syntaxique en utilisant une version modifiée des listes de propriétés d'Apple en ASCII pour définir des grammaires de langage. Ces grammaires permettent l'imbrication de règles. Ces règles sont définies en utilisant la bibliothèque d'expressions régulières de Oniguruma.

Chaque endroit du document (Dans son acception courante un document est généralement défini comme le support physique d'une...) appartient donc à une ou plusieurs portées, qui définissent où cet endroit est dans le document, comment il doit être coloré, et quel comportement TextMate doit avoir à cet endroit. Par exemple, le titre de l'un de ces liens dans la section "liens externes" aura la portée :

text.html.mediawiki markup.list.mediawiki meta.link.inline.external.mediawiki string.other.link.title.external.mediawiki

Cette portée nous dit que nous avons affaire à un titre de lien dans un lien dans une liste dans un document MediaWiki.

Les thèmes de TextMate peuvent colorer toutes les portées qu'ils choisissent, à différents degrés de précision. Par exemple, un thème peut décider de colorer chaque constante (constant.*) de manière identique, alors qu'un autre peut décider de colorer les constantes numériques (constant.numeric.*) de manière différente (En mathématiques, la différente est définie en théorie algébrique des...) des caractères échappés (constant.character.escape.*). La syntaxe des portées imbriquées permet aux auteurs des grammaires de langages et aux auteurs des thèmes différents niveaux de couverture, de sorte que chacun peut choisir entre la simplicité ou la complétude (On parle de complétude en mathématiques dans des sens très différents. On dit d'un objet...).

Snippets

Sous sa forme la plus simple, la gestion de snippets permet d"insérer un snippet au point (Graphie) d'insertion courant. Mais des comportement plus sophistiqués sont possibles, fondés sur des généralisations de la notion de snippet. D'abord les snippets peuvent inclure une ou plusieurs "stations de tabulations" au travers desquelles on peut cycler avec la touche de tabulation. Ensuite, les résultats de ces "stations de tabulations' peuvent être dynamiquement changés dans d'autres portions du snippet, lorsque l'utilisateur remplit le contenu de la station courante. Finalement, les snippets ont accès aux variables d'environnement courantes de TextMate telles que la portée courante, le numéro de ligne courant, le nom de l'auteur et ont aussi la capacité d'appeler des scripts.

Macros

TextMate, comme beaucoup d'éditeurs avant lui, permet à l'utilisateur d'enregistrer une série d'actions dans des macros temporaires pour l'optimisation des tâches répétitives. Les macros utilisées peuvent être sauvées pour une utilisation ultérieure. Les macros peuvent inclure d'autre fonctionnalités d'automation ( L'automation consiste à utiliser les services d'un logiciel dans une application informatique....) dont d'autres macros.

Commandes

Comme la plupart des éditeurs de texte, TextMate permet aux utilisateurs d'exécuter des scripts appelés par des raccourcis claviers ou des menus. Les commandes lisent la ligne de shebang pour déterminer le langage de script utilisé par la commande (Commande : terme utilisé dans de nombreux domaines, généralement il désigne un ordre ou un...). Ce peut être par exemple Bash, Ruby (Ruby est un langage de programmation libre. Il est interprété, orienté objet, et...), Python ou AppleScript (AppleScript est un langage de script créé par Apple, et intégré à Mac OS....). Via AppleScript, les commandes TextMate peuvent interagir avec d'autres programmes Mac. Le texte du document ou de la sélection peut être envoyé dans un tube UNIX (UNIX (marque déposée officiellement comme UNIX, parfois aussi écrit comme Unix avec...) et est disponible pour les scripts via stdin. Ces scripts reçoivent aussi l'état du document via des variables d'environnement. Il existe diverses options de sortie, telles que la visualisation dans une fenêtre (En architecture et construction, une fenêtre est une baie, une ouverture dans un mur ou un pan...) séparée via le WebKit (WebKit est une bibliothèque logicielle permettant aux développeurs d'intégrer...), le remplacement du texte sélectionné, ou l'insertion du texte comme snippet.

Paquets

Les grammaires de langage, les snippets, les macros, les commandes et les patrons peuvent être groupés en des "paquets" de fonctionnalités. La plupart des snippets, macros ou commandes peuvent être exécutés grâce à un raccourci clavier (Un raccourci clavier est une combinaison de touches qui une fois enfoncée permet...), en tapant un mot particulier et en pressant la touche tabulation (appelé déclencheur (En programmation procédurale, un déclencheur (trigger en anglais) est un dispositif...) par tabulation) ou en sélectionnant la commande dans un menu. Les déclencheurs par tabulation sont particulièrement utiles. La combinaison (Une combinaison peut être :) de déclencheurs par tabulation et de snippets facilite beaucoup la programmation dans les langages verbeux ou les langages avec des motifs textuels récurrents.

Les snippets, macros et commandes peuvent être limités à une portée particulière. Ainsi, la balise de fermeture (Le terme fermeture renvoie à :) html n'a pas d'intérêt dans un script Python, libérant ainsi le raccourci clavier pour quelque chose d'autre. Cela permet à des langages individuels, voire des portées individuelles, de prendre le pas sur les commandes par défaut. On peut ainsi remplacer le "reformattage de paragraphe" par des versions plus spécialisées. Même les touches les plus communes comme la touche retour chariot (Un chariot est un plateau équipé de quatre roues, et sert au transport de charges. Par...) ou l'espace peuvent avoir leur comportement modifié pour rendre plus facile le codage (De façon générale un codage permet de passer d'une représentation des...) en un langage particulier.

36 paquets sont délivrés avec TextMate, et un dépôt Subversion contient 121 paquets, qui supportent des choses aussi diverses que Markdown, l'activé de blog (Un blog ou blogue est un site Web constitué par la réunion de billets...) ou le langage d'assemblage de MIPS. Un paquet MediaWiki a été récemment ajouté.

Gestion de projet (La gestion de projet ou conduite de projet est une démarche visant à structurer, assurer et...)

Plusieurs documents ou répertoires peuvent être ouverts en même temps (Le temps est un concept développé par l'être humain pour appréhender le...) dans une fenêtre de projet (Un projet est un engagement irréversible de résultat incertain, non reproductible a...) TextMate qui fournit un tiroir sur le côté. Ce tiroir liste les noms de fichier ( Un fichier est un endroit où sont rangées des fiches. Cela peut-être un meuble, une pièce,...) ou de répertoire. Une série d'onglets au sommet de la fenêtre TextMate liste les fichiers ouverts. Les recherches et les remplacements peuvent être faits à travers tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou...) un projet, et les commandes peuvent interagir avec les fichiers ou répertoires sélectionnés dans le tiroir. Les paquets pour CVS, Subversion, darcs (darcs est un système de gestion de versions, qui sert donc à garder trace des versions...), SVK ou d'autres Logiciels de gestion de versions (La gestion de versions (en anglais version control ou revision control) est une activité qui...) permettent de gérer du code versionné à l'intérieur même de TextMate.

Autres fonctionnalités

TextMate propose d'autres fonctionnalités notables :

  • Le pliage de code permet de cacher des portées entières du document en cours d'édition, ce qui donne une vue (La vue est le sens qui permet d'observer et d'analyser l'environnement par la réception et...) plus compacte du code édité. Les sections à plier peuvent être sélectionnées manuellement ou la structure du document détermine les zones pliables.
  • Des fonctionnalités de recherche (La recherche scientifique désigne en premier lieu l’ensemble des actions entreprises en vue...) et de remplacement avec support des expression régulières facilitent les manipulations complexes de texte.
  • Un popup fournit la liste des sections ou fonctions du document courant.
  • L'historique du presse-papiers (En informatique, un presse-papiers est une fonctionnalité qui permet de stocker des données que...) permet aux utilisateurs de couper plusieurs sections de code en même temps et de les coller.
  • Un mode d'édition par colonne rend facile l'édition de données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent...) tabulaires.
  • Une fenêtre utilisant WebKit permet la mise à jour (Une mise à jour, souvent abrégé en MAJ ou MàJ, est l'action qui consiste à...) automatique (L'automatique fait partie des sciences de l'ingénieur. Cette discipline traite de la...) de la vue générée à partir du document html édité.

Limitations

TextMate comporte quelques limitations:

  • Le support pour les polices de caractères à largeur (La largeur d’un objet représente sa dimension perpendiculaire à sa longueur, soit...) variable (En mathématiques et en logique, une variable est représentée par un symbole. Elle...) est manquant. Cela signifie que le support de langues telles que le chinois, le japonais ou le coréen est inexistant.
  • Il n'y a pas de support pour les langues qui s'écrivent de droite à gauche, comme l'arabe ou l'hébreu.
  • Les gros fichiers peuvent ralentir considérablement TextMate. D'autres éditeurs ont un meilleur support pour l'édition de gros fichiers.
  • TextMate n'a pas de support intégré pour (S)FTP bien qu'un tel support soit planifié pour TextMate 2.0.
  • TextMate n'est pas couplé étroitement à un langage de script, comme l'est Emacs, donc il est impossible d'avoir un contrôle (Le mot contrôle peut avoir plusieurs sens. Il peut être employé comme synonyme d'examen, de...) complet sur le comportement de certaines commandes internes telles celles qui indentent des sections de texte ou celles qui déplacent des colonnes. Mais on peut accomplir presque toutes les actions utiles avec des commandes ou des macros. Allan Odgaard a expliqué ses idées sur le sujet dans un courriel dans la liste TextMate : "Vous négligez le pouvoir des abstractions déclaratives qui est un des avantages fondamentaux de TextMate. Résoudre des problèmes avec du code est souvent contreproductif à la recherche de nouvelles abstractions; et ces abstractions, conçues correctement, apportent beaucoup plus à long terme".
  • Pas de validateur HTML intégré. TextMate utilise W3C validator pour la validation de html validation: l'utilisateur doit donc être en ligne pour une telle validation.
Page générée en 0.076 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique