[Libreoffice-commits] .: bin/add-modelines
Caolán McNamara
caolan at kemper.freedesktop.org
Thu Dec 23 13:18:27 PST 2010
bin/add-modelines | 174 ------------------------------------------------------
1 file changed, 174 deletions(-)
New commits:
commit cba9f19c37127daa0d5b290884f93365d9779400
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu Dec 23 16:30:44 2010 +0000
migrate this into core modules
diff --git a/bin/add-modelines b/bin/add-modelines
deleted file mode 100644
index 71d4209..0000000
--- a/bin/add-modelines
+++ /dev/null
@@ -1,174 +0,0 @@
-#!/bin/bash
-
-# add-modelines, a simple script to add comments to
-# the beginning and end of source files for LibreOffice devs
-
-# Blame goes to Jesse Adelman (at least at first)
-# someone AT boldandbusted dotty-dot com
-# http://www.boldandbusted.com/
-# (c) 2010 Bold and Busted LLC
-# Licensed under the MPL/LGPLv3 or later
-# First edit 2010-10-08
-# Updated on 2010-10-09
-# Version 0.7
-
-# NOTE: At present, this script only works for files with C-like comments.
-# NOTE: If you don't specify -p, the script will act on the current working directory.
-# NOTE: If no arguments are specified, the defitions below are in effect.
-
-# TO DO
-# - Deuglifiy?
-# - Make source file type agnostic modelines?
-# - Too many/too few comments?
-# - Handle top level source directories with whitespace names? (Do they exist?)
-
-# Turn off globbing, helps with SourceFiles
-set -f
-
-# POSIX
-set -o posix
-
-# Change these to taste
-FirstLine='/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */'
-LastLine='/* vim:set shiftwidth=4 softtabstop=4 expandtab: */'
-SourceFiles='*.cxx *.cpp *.hxx *.hpp *.c *.h'
-
-# Set defaults (don't change these)
-ModelineReplace="false"
-
-# Functions
-
-function SetEnvironment()
-{
- if [ -n "$(which tail)" -a -n "$(which head)" ]; then
- {
- headCMD=`which head`
- tailCMD=`which tail`
- }
- else
- {
- echo "Missing head or tail, exiting..."
- exit 1
- }
- fi
- if [ -n "$(which find)" ]; then
- findCMD=`which find`
- else
- {
- echo "Missing find, exiting..."
- exit 1
- }
- fi
- if [ -n "$(which awk)" ]; then
- awkCMD=`which awk`
- else
- {
- echo "Missing awk, exiting..."
- exit 1
- }
- fi
-}
-
-function EditFile()
-{
- local FileToEdit
- local currentFirstLine
- local currentLastLine
-
- FileToEdit="$1"
-
- currentFirstLine=`$headCMD -1 "$FileToEdit"`
- currentLastLine=`$tailCMD -1 "$FileToEdit"`
-
- case "$ModelineReplace" in
- "true" )
- if [ "${currentFirstLIne:0:6}" = "${FirstLine:0:6}" ]; then
- {
- echo "$FirstLine" > "$FileToEdit".new
- $tailCMD -n +2 "$FileToEdit" >> "$FileToEdit".new
- }
- fi
- if [ -e "$FileToEdit.new" ]; then
- {
- echo "$LastLine" >> "$FileToEdit".new
- }
- fi
- if [ "${currentLastLine:0:6}" = "${LastLine:0:6}" ]; then
- {
- $headCMD -n -1 "$FileToEdit" > "$FileToEdit".new
- echo "$LastLine" >> "$FileToEdit".new
- }
- fi
- mv "$FileToEdit".new "$FileToEdit"
- echo "$FileToEdit updated" ;;
- "false" )
- if [ "${currentFirstLine:0:6}" != "${FirstLine:0:6}" ]; then
- if [ "${currentLastLine:0:6}" != "${LastLine:0:6}" ]; then
- {
- echo "$FirstLine" > "$FileToEdit".new
- cat "$FileToEdit" >> "$FileToEdit".new
- if [ "x${currentLastLine}" != "x" ] ; then
- echo "" >> "$FileToEdit".new
- fi
- echo "$LastLine" >> "$FileToEdit".new
- mv "$FileToEdit".new "$FileToEdit"
- echo "$FileToEdit updated"
- }
- fi
- fi ;;
- esac
-}
-
-function PrintUsage()
-{
- echo "Usage: $0 [-z] [-s \"<sourcefile glob>\"] [-p <path to source>]"
-}
-
-# Main
-
-SetEnvironment
-
-# Get command line options
-
-while getopts "zs:p:" opt; do
- case $opt in
- z) ModelineReplace="true" ;;
- s) SourceFiles="$OPTARG" ;;
- p) findPath="$OPTARG" ;;
- *) PrintUsage
- exit 1 ;;
- esac
-done
-
-if [ $OPTIND -gt 1 ]; then
- shift $(($OPTIND - 1))
-fi
-
-if [ $# -gt 1 ]; then
-{
- PrintUsage
- echo "Remember to quote the source file globs after -s"
- exit 1
-}
-fi
-
-# Create GNU find expressions that traverse the filesystem once and only once
-if [ -z "$findPath" ]; then
- findArgs='.'
- else
- findArgs="$findPath"
-fi
-
-for FileType in ${SourceFiles}; do
- findArgs="$findArgs"' ( -iname '"$FileType"' -print ) , '
-done
-
-# This gets rid of the final " , " in the find argument list
-findArgs="${findArgs:0:(${#findArgs}-2)}"
-
-for file in $($findCMD $findArgs); do
- EditFile "$file"
- echo "Completed: " "$file"
-done
-
-# vim:set shiftwidth=4 softtabstop=4 expandtab:
More information about the Libreoffice-commits
mailing list