718 Action @{action "isabelle.newline"} (shortcut \<^verbatim>\<open>ENTER\<close>) indents the old |
718 Action @{action "isabelle.newline"} (shortcut \<^verbatim>\<open>ENTER\<close>) indents the old |
719 and the new line according to command keywords only: this leads to precise |
719 and the new line according to command keywords only: this leads to precise |
720 alignment of the main Isar language elements. This depends on option |
720 alignment of the main Isar language elements. This depends on option |
721 @{system_option_def "jedit_indent_newline"} (enabled by default). |
721 @{system_option_def "jedit_indent_newline"} (enabled by default). |
722 |
722 |
|
723 Regular input (via keyboard or completion) indents the current line |
|
724 whenever an new keyword is emerging the start of the line. This depends on |
|
725 option @{system_option_def "jedit_indent_input"} (enabled by default). |
|
726 |
723 \<^descr>[Semantic indentation] adds additional white space to unstructured proof |
727 \<^descr>[Semantic indentation] adds additional white space to unstructured proof |
724 scripts (\<^theory_text>\<open>apply\<close> etc.) via number of subgoals. This requires information |
728 scripts (\<^theory_text>\<open>apply\<close> etc.) via number of subgoals. This requires information |
725 of ongoing document processing and may thus lag behind, when the user is |
729 of ongoing document processing and may thus lag behind, when the user is |
726 editing too quickly; see also option @{system_option_def |
730 editing too quickly; see also option @{system_option_def |
727 "jedit_script_indent"} and @{system_option_def |
731 "jedit_script_indent"} and @{system_option_def |
728 "jedit_script_indent_limit"}. |
732 "jedit_script_indent_limit"}. |
729 |
733 |
730 The above options are accessible in the menu \<^emph>\<open>Plugins / Plugin Options / |
734 The above options are accessible in the menu \<^emph>\<open>Plugins / Plugin Options / |
731 Isabelle / General\<close>. |
735 Isabelle / General\<close>. A prerequisite for advanced indentation is \<^emph>\<open>Utilities |
732 |
736 / Buffer Options / Automatic indentation\<close>: it needs to be set to \<^verbatim>\<open>full\<close> |
733 \<^medskip> Automatic indentation has a tendency to produce trailing whitespace. That |
737 (default). |
734 can be purged manually with the jEdit action @{action "remove-trailing-ws"} |
|
735 (shortcut \<^verbatim>\<open>C+e r\<close>). Moreover, the \<^emph>\<open>WhiteSpace\<close> plugin provides some |
|
736 aggressive options to trim whitespace on buffer-save. |
|
737 \<close> |
738 \<close> |
738 |
739 |
739 |
740 |
740 section \<open>SideKick parsers \label{sec:sidekick}\<close> |
741 section \<open>SideKick parsers \label{sec:sidekick}\<close> |
741 |
742 |