rosemacs is now separately distributed

This commit is contained in:
Ken Conley 2012-02-03 23:41:28 +00:00
parent 9c3d15d28a
commit 5edc9e1e30
13 changed files with 0 additions and 2080 deletions

View File

@ -1,33 +0,0 @@
# A RELAX NG schema for manifest.xml files
grammar {
start = package
package = element package {
description &
author &
license &
review &
url &
(depend* & platform* & rosdep* & export*)
}
description = element description {
attribute brief { text }?,
text
}
author = element author { text }
license = element license { text }
review = element review {
attribute status { text },
attribute notes { text }
}
url = element url { text }
depend = element depend { attribute package { text } }
export = element export { text & nodelet? }
nodelet = element nodelet { attribute plugin }
rosdep = element rosdep { attribute name { text } }
platform = element platform {
attribute os { text },
attribute version { text }
}
}

View File

@ -1,14 +0,0 @@
<package>
<catkin/>
<description brief="Emacs extension for ros">
Ros tools for those who live in emacs.
</description>
<url>http://www.ros.org/wiki/rosemacs</url>
<author>Bhaskara Marthi</author>
<license>BSD</license>
<review status="experimental" notes=""/>
<platform os="ubuntu" version="9.04"/>
<platform os="ubuntu" version="9.10"/>
<platform os="ubuntu" version="10.04"/>
<platform os="macports" version="macports"/>
</package>

View File

@ -1,10 +0,0 @@
#!/usr/bin/env bash
# Used by rosemacs rosnode mode to keep track of current ros rosnode
while [ 1 ]
do
echo "BEGIN ROSNODE LIST"
rosnode list
echo "END ROSNODE LIST"
sleep $1
done

View File

@ -1,10 +0,0 @@
#!/usr/bin/env bash
# Used by rosemacs rostopic mode to keep track of current ros topics
while [ 1 ]
do
echo "BEGIN ROSTOPIC LIST"
rostopic list -v
echo "END ROSTOPIC LIST"
sleep $1
done

View File

@ -1,6 +0,0 @@
<?xml version="1.0"?>
<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
<uri pattern="*.launch" uri="roslaunch.rnc"/>
<documentElement localName="launch" uri="roslaunch.rnc"/>
<uri pattern="*manifest.xml" uri="manifest.rnc"/>
</locatingRules>

View File

@ -1,19 +0,0 @@
(define-derived-mode rosbag-view-mode
fundamental-mode "Rosbag view mode"
"Major mode for viewing ROS bag files. See view-mode documentation for more info.
\\{rosbag-view-mode-map}"
(let ((f (buffer-file-name)))
(let ((buffer-read-only nil))
(erase-buffer)
(message "Calling rosbag info")
(call-process "rosbag" nil (current-buffer) nil
"info" f)
(set-buffer-modified-p nil))
(view-mode)
(set-visited-file-name nil t)
))
(provide 'rosbag-view-mode)

File diff suppressed because it is too large Load Diff

View File

@ -1,55 +0,0 @@
# A RELAX NG schema for ros launch files
# Incomplete
grammar {
start = launch
launch = element launch { master? & node* & param* & inc* & group* & rosparam* & env* & arg* & remap* }
group = element group { attribute ns { text }? & attribute if { text }? & attribute unless { text } &
( node* & param* & inc* ) }
master = element master { attribute auto { text } }
node = element node {
attribute name { text } &
attribute pkg { text } &
attribute type { text } &
attribute args { text }? &
attribute respawn { "true" | "false" }? &
attribute machine { text }? &
attribute output { text }? &
attribute ns { text }? &
( param* & remap* & rosparam* & group* )
}
env = element env {
attribute name { text } &
attribute value { text }
}
param = element param {
attribute name { text } &
attribute value { text }? &
attribute command { text }? &
attribute if { text }? &
attribute unless { text }? &
attribute type { text }?
}
arg = element arg {
attribute name { text } &
attribute value { text }? &
attribute default { text }?
}
rosparam = element rosparam {
attribute command { text }? &
attribute file { text }? &
attribute ns { text }? &
attribute param { text }? &
attribute if { text }? &
attribute unless { text }? &
( text )
}
remap = element remap { attribute from { text }, attribute to { text },
attribute unless { text }*, attribute if { text }* }
inc = element include {
attribute file { text },
( arg* )
}
}

View File

@ -1,73 +0,0 @@
(require 'slime-asdf)
(require 'rosemacs)
(defcustom slime-ros-completion-function 'completing-read
"The completion function to be used for package and system
completions. This variable can be set to `ido-completing-read'
to enable `ido-mode' for ros packages."
:type 'function
:group 'rosemacs)
(defvar slime-ros-package-history nil)
(defun slime-ros-read-pkg-name (&optional prompt default-value)
(cond ((not (slime-current-connection))
(message "Not connected."))
(t
(let ((default (slime-eval `(cl:identity ros-load:*current-ros-package*))))
(ros-completing-read-package nil default slime-ros-completion-function)))))
(defun slime-ros-replace-underscores (str)
(replace-regexp-in-string "_" "-" str))
(defun slime-ros-get-systems-in-pkg (package &optional default-value prompt)
(let* ((package-path (ros-package-path package))
(asd-files (ros-files-in-package package-path "asd" "asdf"))
(default2 (slime-ros-replace-underscores default-value))
(default (cond ((member default-value asd-files) default-value)
((member default2 asd-files) default2)))
(prompt (concat (or prompt (format "ROS Package `%s', System" package))
(if default
(format " (default `%s'): " default)
": "))))
(funcall slime-ros-completion-function
prompt (mapcar #'car (slime-bogus-completion-alist asd-files))
nil nil nil nil default)))
(defslime-repl-shortcut slime-repl-load-ros-system ("ros-load-system")
(:handler (lambda ()
(interactive)
(let* ((ros-pkg-name (slime-ros-read-pkg-name))
(path (ros-package-path ros-pkg-name))
(system-name (slime-ros-get-systems-in-pkg ros-pkg-name ros-pkg-name)))
(slime-cd path)
(setq default-directory path)
(slime-eval `(cl:setf ros-load:*current-ros-package* ,ros-pkg-name))
(slime-oos system-name 'load-op)))))
(defslime-repl-shortcut slime-repl-load-ros-system ("ros-test-system")
(:handler (lambda ()
(interactive)
(let* ((ros-pkg-name (slime-ros-read-pkg-name))
(system-name (slime-ros-get-systems-in-pkg ros-pkg-name ros-pkg-name)))
(slime-eval `(cl:setf ros-load:*current-ros-package* ,ros-pkg-name))
(slime-oos system-name 'test-op)))))
(defun slime-ros ()
(interactive)
(let* ((sbcl-pkg-path (ros-package-dir "sbcl"))
(roslisp-path (ros-package-dir "roslisp"))
(sbcl-binary (if sbcl-pkg-path
(concat sbcl-pkg-path "/scripts/run-sbcl.sh")
"/usr/bin/sbcl"))
(inferior-lisp-program (concat sbcl-binary " --load " roslisp-path
"/scripts/roslisp-sbcl-init"))
;; Override user's implementations if set
(slime-lisp-implementations nil))
(message "Starting sbcl version from %s" sbcl-binary)
(slime)))
(provide 'slime-ros)

View File

@ -1,23 +0,0 @@
# -*- mode: snippet -*-
# name: header file with include guards, namespace
# expand-env: ((pkg (ros-package-for-buffer (current-buffer) t)) (fname (file-name-nondirectory (file-name-sans-extension (buffer-file-name (current-buffer))))))
# --
/**
* \file
*
* ${1:FILE DESCRIPTION}
*
* \author ${2:AUTHOR}
*/
#ifndef `(upcase pkg)`_`(upcase fname)`_H
#define `(upcase pkg)`_`(upcase fname)`_H
namespace `pkg`
{
$0
} // namespace
#endif // include guard

View File

@ -1,20 +0,0 @@
# -*- mode: snippet -*-
# name: Ros source file
# expand-env: ((pkg (ros-package-for-buffer (current-buffer) t)) (fname (file-name-nondirectory (file-name-sans-extension (buffer-file-name (current-buffer))))))
# --
/**
* \file
*
* ${1:FILE DESCRIPTION}
*
* \author ${2:AUTHOR}
*/
#include <${3:INCLUDES}>
namespace `pkg`
{
$0
} // namespace

View File

@ -1,10 +0,0 @@
# -*- mode: snippet -*-
# name: main() for a ros node
# --
int main (int argc, char** argv)
{
ros::init(argc, argv, "`(file-name-nondirectory (file-name-sans-extension (buffer-file-name (current-buffer))))`");
${1:NODE_CLASS} node;
ros::spin();
return 0;
}

View File

@ -1,20 +0,0 @@
# -*- mode: snippet -*-
# name: Ros test source file
# expand-env: ((pkg (ros-package-for-buffer (current-buffer) t)) (fname (file-name-nondirectory (file-name-sans-extension (buffer-file-name (current-buffer))))))
# --
/**
* \file
*
* ${1:FILE DESCRIPTION}
*
* \author ${2:AUTHOR}
*/
#include <${3:INCLUDES}>
namespace `pkg`
{
$0
} // namespace